Bonjour,
je testais un bout de code vu sur un internet sur des exemples d'utilisations de GREP.
Plateform cygwin perl v 5.22
Sur le code suivant avec les {} pour le bloque de GREP j'ai une erreur
Résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 my $match = 'A'; my @array = qw(Anthony Mark Alex A); if ( my @list = grep { /$match/,@array } ) { print "Matched: @list\n"; } else { say "No match"; }
syntax error at test.pl line 10, near "} ) "
Execution of test.pl aborted due to compilation errors.
En remplaçant les {} par () ca fonctionne.
Résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 my $match = 'A'; my @array = qw(Anthony Mark Alex A); if ( my @list = grep ( /$match/,@array ) ) { print "Matched: @list\n"; } else { say "No match"; }
Matched: Anthony Alex A
C'est bon à savoir mais quelqu'un sait il la raison ? GREP imbriqué dans un IF ou juste imbriqué ? Histoire d'éviter des surprises dans le futur.
Car sur le perldoc c'est bien stipulé que les parenthèse ou crochet, c'est équivalent.
Merci
Partager