Bonjour,
Je cherche à remplacer des lignes d'un fichier texte.
Je récupère mes motifs de recherche et de remplacement dun aun autre fichier texte, que je reformatte un peu, nottament pour précéder les caractères spéciaux par un backslash.
Mon problème est que le texte ne sort pas comme je le souhaite.
1 2
| $regles{"REGLES"}{$idregle}{"CHANGEOLDBLOC"} = (.*) (.*?)\.QTTIT_T3(.*)
$regles{"REGLES"}{$idregle}{"CHANGENEWBLOC"} = $1 ZZ9K\.ZZ9K_QTTIT$3 |
ces deux variables font parties d'une table dehashage remplie par lecture d'un fichier et ne sont pas explicitement déclarée comme cela.
lorsque j'utilise la fonction suivante
$sortie[$i] =~ s/$regles{"REGLES"}{$idregle}{"CHANGEOLDBLOC"}/$regles{"REGLES"}{$idregle}{"CHANGENEWBLOC"}/gi;
le résultat retrouné est le suivant
1 2 3 4 5 6 7 8 9 10 11 12
| Source avant :
IF W_TEST = 1 THEN
PUT SKIP LIST('TR4:' !! PMTIT.QTTIT_T3);
IF PMTIT.QTTIT_T3 ^> 0 /* OK Ag FITIT */
THEN DO;
Source après :
IF W_TEST = 1 THEN
$1 ZZ9K\.ZZ9K_QTTIT$3
$1 ZZ9K\.ZZ9K_QTTIT$3
THEN DO; |
Partager