Bonjour,
Je voudrais écrire un programme en Perl qui compte le nombre d'éléments d'un tableau (que je dois remplir) et l'affiche, puis affiche élément par élément en rajoutant en précisant sa position.
La sortie standard doit être :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ~# ./Nb_elem.pl 1 2 3 4 5 5 1 0 2 1 3 2 4 3 5 4
Donc jusqu'à là aucun souci :
Comme sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #!/usr/local/bin/perl -w use strict; my $nb_elem = scalar(@ARGV); print $nb_elem."\n"; foreach (@ARGV){ print "$_\n"; }
Le problème se pose lorsque je souhaite inclure l'index de chaque élément de mon tableau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ~# ./Nb_elem.pl 1 2 3 4 5 5 1 2 3 4 5
C'est-à-dire :
En faisant cela j'ai comme erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #!/usr/local/bin/perl -w use strict; my $nb_elem = scalar(@ARGV); print $nb_elem."\n"; foreach my $index (keys @ARGV){ print "$_\n"; print $index; }
Quelqu'un a t-il une idée svp ?~# ./Nb_elem.pl 1 2 3 4 5
Type of arg 1 to keys must be hash (not array dereference) at ./Nb_elem.pl line 15, near "@ARGV)"
Execution of ./Nb_elem.pl aborted due to compilation errors.
Merci d'avance,
Partager