Petite question en PERL

Fermé
bsaad - 10 oct. 2002 à 15:12
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 - 10 oct. 2002 à 22:56
Bonjour,
SVP, quelle est la signification de @_ en PERL ?
Merci

1 réponse

M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
10 oct. 2002 à 22:56
@_ est une variable locale tableau particulière. On peut l'apperler ou l'assigner comme toute autre variable mais elle jouit d'un statut particulier de par la syntaxe du langage Perl.
La forme abrégée
while (<STDIN>) équivaut à while (defined (@_=STDIN))
et de même
chomp; équivaut à chomp $_ ;

Dans l'expression while (/^[0-9]/) {}
c'est encore la varible @_ qui est comparée à l'expression régulière pour voir si elle commence par un chiffre.

Elle est présente aussi dans la syntaxe des fonctions introduite par le mot réservé sub . @_ y désigne le tableau de paramètres passé à la fonction ... (voir http://www.commentcamarche.net/perl/perlfonc.php3 et http://www.commentcamarche.net/perl/perlfich.php3 )

une autre variable réservée et $_, une zone tmporaire utilisée si aucun non n'est donné à une expression, par exemple:
dans l'expression
foreach $element (@liste) { print $e; }
si on n'indique pae $element on peut écrire la même chose
foreach (@liste) { print $_; }
ou même print; puisque là aussi c'est cette variable temporaire qui sera prise à défaut de n'en avoir donné aucune.
pour un saut de ligne, il faut lui dire print "";
 :,§_ ç _
(@)=(@)
0