Ich sitze vor dem u.a. Ausdruck und steige einfach nicht zu 100% dahinter, was der Verfasser damit ausdrücken will:
$variable =~ /^([\w\W^-]*)-Wort$/
[\w\W] matcht auf alles, da jedes Zeichen, das nicht \w ist, zwangsläufig \W ist. Die nachfolgenden Zeichen ^- ändern daran auch nichts mehr.
Das ist also identisch zu
$variable =~ /^(.*)-Wort$/s
Ferner fragt der Autor ab, ob der o.a. Ausdruck wahr ist (Verwendung in einer IF-Clause).
if( "-Wort" =~ /^(.*)-Wort$/s ){ #true }
if( "\n-Wort" =~ /^(.*)-Wort$/s ){ #true }
Ich hoffe, ihr versteht ihn etwas besser als ich!
Meine Intuition sagt mir dass der Autor viel mehr dieses pattern beabsichtigte.
$variable =~ /^([^-]*)-Wort$/
Matche irgendwas vor '-Wort' solange es nicht ein Hyphen ist.
^ bedeutet eine negierte Zeichenklasse WENN ^ das erste Zeichen in [] ein ^ ist.
Es gibt keine Zeichenklassen in Perl die zugleich positiv und negativ sind.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische