Ich habe das in Mail :: IMAPClient gefunden. Woher kommt die $_
in $SEARCH_KEYS{ uc($_) }
?
Das sieht für mich wie ein Tippfehler aus, wo der Autor eine anonyme FOR-Schleife foreach (@args)
in eine explizite Iterator-Variable foreach my $v (@args)
konvertiert hat und vergessen hat, alle Inzidenzen von $_
in $v
zu konvertieren.
Sie sollten wahrscheinlich einen Fehler gegen die Verteilung auf CPAN einreichen.
Auch wenn dies wahrscheinlich ein Fehler ist, betrachten wir, wie sich dieser Code verhält.
Der Wert von $_
wird vom aktuellen dynamischen Bereich bestimmt. Was das bedeutet ist, dass $_
irgendeinen Wert (die dynamisch beschränkte Kopie von) $_
in der aufrufenden Subroutine hat.
Also zum Beispiel wenn ich:
%Vor%Sie erhalten eine Ausgabe wie:
%Vor% Es wird etwas seltsamer in Perl 5.10 und höher, wo eine lexikalische $_
existiert.
Führe das aus und hole:
%Vor%Wie Sie sehen können, ist dies wahrscheinlich eine schlechte Idee, wenn dies kein Fehler ist.
Tags und Links perl