[Perl] Besoin d'aide

erwan -  
 erwan -
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

erwan
 
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