Ich bin ein Perl-Neuling. Ich habe einen Code, in dem eine Variable während einer foreach-Schleife mit mehreren Werten geladen wird. Was ich tun möchte, ist eine Operation für diese Variable nur auszuführen, wenn sie in diesem Array ist. Was ist der effizienteste Weg dies in Perl zu tun, da die Daten, an denen ich arbeite, sehr groß sind.
Ein einfaches Beispiel für meine Frage ist, sagen wir, ich habe eine Reihe von Früchten, die ich möchte
%Vor%Aber ich habe eine $ fruit-Variable in einer foreach-Schleife, die den Namen von Früchten aus einer Datendatei erhält, die alle verschiedenen Arten von Früchten enthält. Wie würde ich nur die Fälle von $ fruit auswählen, die sich in meinem @fruits_i_like-Array befinden?
Perl 5.10 oder höher?
%Vor%Vor 5.10:
%Vor% Der Nachteil ist, dass das ganze Array durchsucht wird, um Übereinstimmungen zu finden. Dies ist möglicherweise nicht die beste Option. In diesem Fall können Sie List::MoreUtils
' any()
verwenden, was true zurückgibt, sobald es mit einem Wert übereinstimmt und nicht weiter durch das Array geht.
Happy Hacking!