Mach es so:
my $filename = 'D:/tmp/Kopie von test.txt';
$filename =~ s{\/[^/]+$}{};
der Punkt "." war zu viel. Das bedeutet "beliebiges Zeichen" und ".+" heißt dann: ein beliebiges Zeichen oder so viele wie möglich.
Und "gxmi" ist hier unnötig das bedeutet nämlich:
g => global => wiederhole bis nichts mehr passt.
x => extendet => erweiterte Darstellung möglich
m => multiline => Zeilenumbrüche werden beachtet
i => Caseinsensitive => Groß/Kleinschreibung missachten
Aber besser ist es
File::Spec zu benutzen:
($volume,$directories,$file) = File::Spec->splitpath( $filename );
Last edited: 2010-11-16 15:19:08 +0100 (CET)