[Perl] substitution de caractères accentués

substitution de caractères accentués [Perl] - Perl - Programmation

Marsh Posté le 28-03-2006 à 10:37:09    

Bonjour,
 
je remplace des accents dans une chaîne de caractères (provenant d'un fichier lu) avant de l'écrire dans un fichier.
la chaîne provient d'un tableau, dont les valeurs proviennent des résultats d'une expression régulière :sleep:  
 
en gros :
(pour info, j'ai du remplacé les double quotes par des simple dans la balise cpp, sinon ça merde à l'affichage)

Code :
  1. while (<FIC> ) {
  2. chomp;
  3. unless (/(\d{4});(\d{5}( |\w)\d{2}); ..... /) {
  4.  print 'Ligne $cpt_ligne mal formatee\n';
  5. } else {
  6.  $RUB[0] = $10;
  7.                       ...
  8.  $RUB[8] = $11;
  9.         $RUB[8] =~ s/è/e/gm ;
  10.  $chaine = join ';', @RUB ;
  11.  print FICDAT '$chaine\n' ;
  12. }
  13. }


 
je "join" ce tableau avec des caractères ";" et j'obtiens une erreur lors du join :

Code :
  1. Use of uninitialized value in join or string at prog.pl line 451, <FIC> line 2.


451 : ligne du join
FIC line 2 : ligne lue où on trouve un accent
 
Mon remplacement se fait bien, mais je comprend pas pourquoi j'ai tous ces warnings.
(Je précise que sans ce remplacement, tout est ok, toutes les rubriques du tableau @RUB sont renseignées)


Message édité par nibbles1 le 28-03-2006 à 10:45:26
Reply

Marsh Posté le 28-03-2006 à 10:37:09   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed