Die beiden Operatoren "=~" und "!~" stehen für "passt oder
passt nicht". Ein Vergleich, ob ein
String auf "abc" matched sieht wie folgt aus:
if
( $string =~ /abc/) { print "string matched\n";}
if
( $string !~ /abc/) { print "string matched NICHT\n";}
Neben der einfachen Prüfung, kommen reguläre Ausdrücke oft auch im Zusammenhang mit
Ersetzungen zum Einsatz. Die Syntax lautet:
$ergebnis=~
s/OLDSTRING/NEWSTRING/;
z.B.
$text="abcdefg";
$text
=~ s/abc/xyz/; # => $text="xyzdefg"
Mit Hilfe der Backrefernzen $1, $2, $3... kann man auf die vorherigen Klammern zurückgreifen:
$text="abcdefg";
$text
=~ s/(abc)(.*)/$2$1/; # => $text="defgabc"