Für einen Dateifilter möchte ich ein Array von Wörtern verwenden, wobei Zeilen überprüft werden, wenn sie mit einem der Wörter übereinstimmen.Perl, Suchzeichenfolge für das Auftreten von Elementen des Arrays
ich schon einen recht einfachen Ansatz so aus (nur die wesentliche Anpassungsteil):
# check if any of the @words is found in $term
@words= qw/one
two
three/;
$term= "too for the show";
# the following looks very C like
$size= @words;
$found= 0;
for ($i= 0; $i<$size && !$found; $i++) {
$found|= $term=~ /$words[$i]/;
}
printf "found= %d\n", $found;
viele obskure Syntax und Lösungen in Perl gesehen haben, ich frage mich, ob (oder vielmehr das, was) sind kompaktere Möglichkeiten, dies zu schreiben.
[ 'list2re' von Data :: Munge] (https://metacpan.org/pod/Data::Munge#list2re-LIST) ist etwas sehr ähnlich, aber Griffe auch mehrere Grenzfälle . – melpomene
+1 von OP. Ich mag dieses hier (es zeigt die aracane Arten von Perl, die ich erwartet hatte). Aber der mit der Montage passt besser zu meinen Bedürfnissen. danke für die Antwort. – Terminality