[PERL] Problème avec Split et §
khaz
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
j'ai un problème lors de l'utilisation de la fonction split.
Je récupere un fichier de sortie sql où mes colonnes sont séparées par des symboles §.
Mon script Perl doit analyser ces fichiers, pour séparer les colonnes j'effectue donc la commande suivante :
while ($Lig = <Fic>)
{
chomp $Lig;
($cli, $mod, $lig1, $lig2, $lig3) = split(/§/, $Lig);
$BO{$cli}{$mod} = "$lig1§$lig2§$lig3";
}
Or le problème que j'ai, c'est qu'en passant le script avec le débuggeur j'observe ceci :
Watchpoint 2: $cli changed:
old value: undef
' new value: '00028996§0002§Ligne1§Ligne2§Ligne3.
J'ai donc cette impression que mon split ne marche du tout. Est ce lié au caractère § ? A autre chose ?
j'ai un problème lors de l'utilisation de la fonction split.
Je récupere un fichier de sortie sql où mes colonnes sont séparées par des symboles §.
Mon script Perl doit analyser ces fichiers, pour séparer les colonnes j'effectue donc la commande suivante :
while ($Lig = <Fic>)
{
chomp $Lig;
($cli, $mod, $lig1, $lig2, $lig3) = split(/§/, $Lig);
$BO{$cli}{$mod} = "$lig1§$lig2§$lig3";
}
Or le problème que j'ai, c'est qu'en passant le script avec le débuggeur j'observe ceci :
Watchpoint 2: $cli changed:
old value: undef
' new value: '00028996§0002§Ligne1§Ligne2§Ligne3.
J'ai donc cette impression que mon split ne marche du tout. Est ce lié au caractère § ? A autre chose ?
A voir également:
- [PERL] Problème avec Split et §
- Split cam - Télécharger - Messagerie
- Split 4g - Télécharger - Gestion de fichiers
- Hj split - Télécharger - Gestion de fichiers
- Split mp3 - Télécharger - Édition & Montage
- Denon perl pro test - Accueil - Audio
2 réponses
Bonjour,
Essaie avec un foreach. ton split est bien défini.
open(FH, "patapouf.txt")|| die ("Can't open error file: $!");
foreach $Lig (<FH>)
{
($cli, $mod, $lig1, $lig2, $lig3) = split(/§/, $Lig);
print " 1:$cli\n 2:$mod\n 3:$lig1\n 4:$lig2\n 5:$lig3\n";
}
Tk moi ca marche bien
Dave
Essaie avec un foreach. ton split est bien défini.
open(FH, "patapouf.txt")|| die ("Can't open error file: $!");
foreach $Lig (<FH>)
{
($cli, $mod, $lig1, $lig2, $lig3) = split(/§/, $Lig);
print " 1:$cli\n 2:$mod\n 3:$lig1\n 4:$lig2\n 5:$lig3\n";
}
Tk moi ca marche bien
Dave
Salut,
Watchpoint 2: $cli changed:
old value: undef
d'après le message on peut remarqué que ton fichier n'a pas vraiment la structure que tu dis
donc au passage des lignes quand tu fait le split la variable $cli change de valeur
mets ton fichier sur cjoint.com pour voir
Tu peux faire une vérification en mettant dans la boucle
Ainsi tu peux vérifier où est le problème
Watchpoint 2: $cli changed:
old value: undef
d'après le message on peut remarqué que ton fichier n'a pas vraiment la structure que tu dis
donc au passage des lignes quand tu fait le split la variable $cli change de valeur
mets ton fichier sur cjoint.com pour voir
Tu peux faire une vérification en mettant dans la boucle
print "$. => $cli, $mod, $lig1, $lig2, $lig3";
Ainsi tu peux vérifier où est le problème