[Perl] Besoin d'aide

Fermé
erwan - 19 juil. 2007 à 11:26
 erwan - 19 juil. 2007 à 13:57
Bonjour,
Je manipules des fichiers spéciaux et j'ai besoin à un moment d'effectuer une substitution.
Seulement j'ai un soucis,ce que je dois substituer n'est jamais identique et la position peut varier aussi en fonction des champs précédents. Voici un exemple :

" ERREUR;¤;942;¤;'';¤;ERREUR;¤;1;¤;08/08/2000;¤;test;¤;ERREUR;¤;'';¤;ERREUR;¤;0;¤; "

J'ai besoin de changer "test" par une variable que j'ai stocké mais je ne trouve pas d'expressions régulières pour y parvenir.
C'est ;¤; qui joue le role de séparateur, il y en a 6 avant le champs que je souhaite substituer c'est une piste pour la solution.

Si quelqu'un peut m'aider ce serait sympa.

Merci
A voir également:

1 réponse

Bon au cas où qq'un aurait le même genre de problème j'ai trouvé la solution.

Il suffit de faire un split et de stocker les valeurs dans un tableau :
@tmp=split(';¤;',$_);

Puis de remplacer la valeur voulue du tableau soit ici :

$tmp[6}=.... ;

Et de reconcaténer les morceaux avec un join :

$_=join(';¤;',@tmp);

Voila
1