Langage perl
najia87
-
najia87 Messages postés 44 Statut Membre -
najia87 Messages postés 44 Statut Membre -
Bonjour,
bonjour je travaille sous Windows avec le langage perl , mon problème est de transformer un fichier à un format spécifique voila mon code:
#!/usr/bin/perl;
@ARGV ="C:\script\Etiq.txt";
$~="ETIQUETTE";
while ($ligne = <>) {
chop ($ligne);
($pre,$nom,$ville,$pays) = split(/ /,$l);
write;
}
format ETIQUETTE =
+----------------------------+
| @<<<<<<<<<<<<<<<<<<<<< |
$pre
| @<<<<<<<<<<<<<<<<<<<<< |
$nom
| @||||||||||||||||||||| |
$ville
| @>>>>>>>>>>>>>>>>>>>>> |
$pays
+----------------------------+
.
il m affiche cette erreur : le fichier Etiq .txt ne s'ouvre pas et je ne sais po pourquoi malgré que l emplacement du fichier est correcte. merci pour votre aide.
bonjour je travaille sous Windows avec le langage perl , mon problème est de transformer un fichier à un format spécifique voila mon code:
#!/usr/bin/perl;
@ARGV ="C:\script\Etiq.txt";
$~="ETIQUETTE";
while ($ligne = <>) {
chop ($ligne);
($pre,$nom,$ville,$pays) = split(/ /,$l);
write;
}
format ETIQUETTE =
+----------------------------+
| @<<<<<<<<<<<<<<<<<<<<< |
$pre
| @<<<<<<<<<<<<<<<<<<<<< |
$nom
| @||||||||||||||||||||| |
$ville
| @>>>>>>>>>>>>>>>>>>>>> |
$pays
+----------------------------+
.
il m affiche cette erreur : le fichier Etiq .txt ne s'ouvre pas et je ne sais po pourquoi malgré que l emplacement du fichier est correcte. merci pour votre aide.
9 réponses
-
ello
essayer @ARGV ="C:\\script\\Etiq.txt"; ou @ARGV ="C:/script/Etiq.txt";-
j ai mis le fichier ds C seuelment c:\ etiq.txt mais le probleme qu il m a donnée un autre probleme c est :
Global symbol "$ligne" requires explicit package name at c:\script\format.pl lin
e 6.
Global symbol "$ligne" requires explicit package name at c:\script\format.pl lin
e 7.
Global symbol "$pre" requires explicit package name at c:\script\format.pl line
8.
Global symbol "$nom" requires explicit package name at c:\script\format.pl line
8.
Global symbol "$ville" requires explicit package name at c:\script\format.pl lin
e 8.
Global symbol "$pays" requires explicit package name at c:\script\format.pl line
8.
Global symbol "$l" requires explicit package name at c:\script\format.pl line 8.
Global symbol "$pre" requires explicit package name at c:\script\format.pl line
15.
Global symbol "$nom" requires explicit package name at c:\script\format.pl line
17.
Global symbol "$ville" requires explicit package name at c:\script\format.pl lin
e 19.
Global symbol "$pays" requires explicit package name at c:\script\format.pl line
21.
Execution of c:\script\format.pl aborted due to compilation errors. -
-
-
-
-
enlever le ; à la fin de la ligne : #!/usr/bin/perl;
-
$ ./p4 +----------------------------+ | Nom | | Prenom | | Ville | | Pays | +----------------------------+ $ $ cat Etiq.txt Nom Prenom Ville Pays $ $ cat p4 #!/usr/bin/perl @ARGV ="Etiq.txt"; $~="ETIQUETTE"; while ($ligne = <>) { chop ($ligne); ($pre,$nom,$ville,$pays) = split(/ /,$ligne); write; } format ETIQUETTE = +----------------------------+ | @<<<<<<<<<<<<<<<<<<<<< | $pre | @<<<<<<<<<<<<<<<<<<<<< | $nom | @||||||||||||||||||||| | $ville | @>>>>>>>>>>>>>>>>>>>>> | $pays +----------------------------+ . -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
as-tu corrigé cette ligne ?
($pre,$nom,$ville,$pays) = split(/ /,$ligne);
-
-
non, dans le premier post, il y a : ($pre,$nom,$ville,$pays) = split(/ /,$l);
-
oui oui j ai mis ($pre,$nom,$ville,$pays) = split(/ /,$ligne);
mais ca marche po je ne sais po pourquoi