Was hat Perl $ * Variable verwendet zu tun?
-
21-09-2019 - |
Frage
ich einige Code haben von http://www.hyllander.org/node/23 dass Verwendungen $*
( "Dollar-Stern" oder "Dollar-Stern"), aber meine Version von perl-Berichten:
$* is no longer supported at migrate.pl line 284.
Möchten Sie wissen, was die Nebenwirkungen zu tun, waren
$*=1
Hat das irgendwie beeinflussen Funktionen wie split
oder Tokenizer oder reguläre Ausdrücke?
Lösung
Hier ist Teil der Ausgabe von perldoc perlvar
:
$ * auf einen Nicht-Null-Integer-Wert zu tun mehrzeiligen innerhalb eines String-Matching, 0 (oder undefined) zu sagen, Perl, dass es davon ausgehen, dass Strings einen einzelnen enthalten Linie, zum Zweck der Optimierung Muster entspricht. Muster passt auf Strings mit mehreren Zeilenumbrüche produzieren können Ergebnisse, wenn $ verwirrend * 0 oder nicht definiert. Die Standardeinstellung ist nicht definiert. (Mnemonic: * Streichhölzer mehrere Dinge.) Diese Variable Einfluss auf die Interpretation nur von "^" Und "$". Eine wörtliche Newline kann sein gesucht, wenn "$ * == 0" selbst.
Die Verwendung von $ * ist in der modernen veraltet Perl, verdrängte durch den "/ s" und "/ m" Modifikatoren auf Pattern-Matching.
einen nicht-numerischen Wert auf $ zuweisen * löst eine Warnung (und macht Akt $ * wenn "$ * == 0"), während der Zuweisung eines Zahlenwert auf $ * macht, dass ein implicit „int“ ist, von der angelegten Wert.