Ich bin perl Anfänger, ich lese auf grep
Funktion, um eine Liste zu filtern. Ich stieß auf folgendes Programm.
#!/usr/bin/perl
use strict;
use warnings;
# initialize an array
my @array = qw(3 4 5 6 7 8 9);
# first syntax form:
my @subArray = grep { $_ & 1 } @array;
die Aussage my @subArray = grep { $_ & 1 } @array;
kehrt ungerade Zahlen in @array
. Ich habe nicht verstanden, wie der Ausdruck ($_ & 1
) funktioniert. Ich habe in Google gesucht, aber keine nützlichen Links gefunden.
Ist das eine Art spezieller Operator?
Gibt es weitere Varianten davon EXPR?
Vielen Dank im Voraus.
FYI besser lesbare Implementierung. – DVK
@DVK Hm, Was mein Interesse betrifft: Wird dieser Tipp verwendet? '$ _ || = $ val' – gaussblurinc
@loldop -' || = 'Operator ist perfekt idiomatische Perl, kein Hack. Allerdings ist die Verwendung von '$ _' im Gegensatz zur Verwendung einer selbst-dokumentierten Variablen sehr häufig ein Zeichen für schlecht geschriebenen Code, es sei denn, es wird in einem sehr kurzen' map'/'grep'-Block verwendet. – DVK