Je suis consterné. OK, il s'agit probablement de l'événement le plus important de l'histoire de l'Europe. amusant Perl que j'ai jamais trouvée. Aujourd'hui encore, j'apprends de nouvelles choses sur Perl. Essentiellement, l'opérateur flip-flop ..
qui renvoie faux jusqu'à ce que le côté gauche renvoie vrai et ensuite vrai jusqu'à ce que le côté droit retourne faux conserver l'état global (c'est du moins ce que je suppose).
Puis-je le réinitialiser (ce serait peut-être un bon ajout à Perl 4-esque qui n'est pratiquement jamais utilisé) ? reset()
) ? Ou n'y a-t-il pas moyen d'utiliser cet opérateur en toute sécurité ?
Je ne vois pas non plus que cela (le contexte global) soit documenté quelque part dans le document perldoc perlop
s'agit-il d'une erreur ?
Code
use feature ':5.10';
use strict;
use warnings;
sub search {
my $arr = shift;
grep { !( /start/ .. /never_exist/ ) } @$arr;
}
my @foo = qw/foo bar start baz end quz quz/;
my @bar = qw/foo bar start baz end quz quz/;
say 'first shot - foo';
say for search \@foo;
say 'second shot - bar';
say for search \@bar;
Filigrane
$ perl test.pl
first shot
foo
bar
second shot