2016-03-18 10 views
0

Gibt es in Perl eine globale Option, die das Standardverhalten für reguläres Verhalten bei Übereinstimmung angibt? Wie ignorieren Fall standardmäßig auch ohne i Option Match-Operator.Ändern Sie das Standard-Regexp-Verhalten in Perl?

+4

Warum wollen Sie diese benötigen zu suchen tun? Es ist definitiv eine mögliche Dose Würmer implizit global etwas zu verändern, dass jeder weiß, wie es funktioniert. – Sobrique

Antwort

8

Sie können für re pragma

use re '/ix'; 
"FOO" =~/foo /; # /ix implied 
no re '/x'; 
"FOO" =~ /foo/; # just /i implied 
+4

Beachten Sie, dass dies nicht global ist, sondern nur für den aktuellen lexikalischen Bereich gilt. Eine globale Flagge wäre eine schlechte Idee, da Module (einschließlich Dinge wie 'strict') von der Groß- und Kleinschreibung abhängig sind. – ThisSuitIsBlackNot

+1

Es gibt mehr Implikationen und Besonderheiten. (Beispiel: 're/flag' überschreibt das 'locale'-Pragma und das' unicode_strings '' feature' für regex - das wird nach 'no re/flag' wiederhergestellt.) – zdim

Verwandte Themen