Elements d'un tableau en entrée standard
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:
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 :
Code:
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";
} |
Comme sortie :
Code:
1 2 3 4 5 6 7 8
|
~# ./Nb_elem.pl 1 2 3 4 5
5
1
2
3
4
5 |
Le problème se pose lorsque je souhaite inclure l'index de chaque élément de mon tableau :
C'est-à-dire :
Code:
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;
} |
En faisant cela j'ai comme erreur :
Citation:
~# ./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.
Quelqu'un a t-il une idée svp ?
Merci d'avance,