Bonjour à tous,
j'ai une question qui tourne autour des variables implicites et peut-être leur portée.
Pourquoi est-ce que le code suivant renvoie 'uninitialized value' :
1 2 3 4 5
| use strict;
$_ = '1 2 3 4 5 6';
@_ = split;
my $premier_elt = shift;
print "$premier_elt\n"; |
pour que ça marche, il suffit de remplacer :
par
my $premier_elt = shift(@_);
Pourquoi est-ce une erreur alors que cette tournure me parait classique. Par exemple, l'appel implicite à @_ ne pose pas de problème dans les sub {} :
1 2 3 4
| sub ma_fonction {
my $premier_arg = shift;
etc...
} |
merci d'avance
Partager