substitution de caractères accentués [Perl] - Perl - Programmation
MarshPosté 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
en gros : (pour info, j'ai du remplacé les double quotes par des simple dans la balise cpp, sinon ça merde à l'affichage)
Code :
while (<FIC> ) {
chomp;
unless (/(\d{4});(\d{5}( |\w)\d{2}); ..... /) {
print 'Ligne $cpt_ligne mal formatee\n';
} else {
$RUB[0] = $10;
...
$RUB[8] = $11;
$RUB[8] =~ s/è/e/gm ;
$chaine = join ';', @RUB ;
print FICDAT '$chaine\n' ;
}
}
je "join" ce tableau avec des caractères ";" et j'obtiens une erreur lors du join :
Code :
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
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
en gros :
(pour info, j'ai du remplacé les double quotes par des simple dans la balise cpp, sinon ça merde à l'affichage)
je "join" ce tableau avec des caractères ";" et j'obtiens une erreur lors du join :
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