Hallo Schnaps,
Dieser soll bei folgenden Beispiel eingaben
blabla
oder
blabla.txt
jeweils nur das bla finden.
/^(\w+)(?:.txt)?$/
$test=~/(\w*)[.|$]/;
Richtig wäre:
$test =~ /(\w+)(?:.|$)/;
Die [] bezeichnen Zeichenklassen, das ist schon ein OR (auf Zeichen-Ebene allerdings).
(Soll heißen: Speicher alle alphanumerischen zeichen bis ein Punkt oder Zeilen Ende kommt.)
Dafür würde ich eher substr() und index() benutzen.
Grüße,
CK