also, das wolltest Du erklärt haben:
my ($string) = ($_ =~ m/^.*\\(.*)$/);
Du musst es ein wenig von hinten aufsplitten:
1) Die Regex schaut nach einem Muster von beliebigen Zeichen am Anfang eines Strings (^.*), gefolgt von einem Backslash (\\) - doppelter Backslash weil der Backslash selbst bei regulären Ausdrücken ein Sonderzeichen ist - er maskiert nämlich das folgende Zeichen, wiederum gefolgt von beliebigen Zeichen bis zum Ende des Strings (.*$) - also zum Beispiel nur den Name der Datei ohne den Pfad wie von Dir gewünscht.
Jetzt will ich aber eben nur den Namen der Datei, also klammere ich diesen Teil des RegEx. Damit landet dieser Teil in der reservierten Variable $1 (implizit), welchen ich dann ohne Umweg $string zuweise.
Das Ganze könnte man wesentlich umständlicher (aber vielleicht leichter verständlich) auch so schreiben:
$_ =~ m/^.*\\(.*)$/; # finde alles hinter dem letzten Backslash und schreibe es in $1
my $string = $1;
Hoffe, es wird jetzt klarer.
Gruss,
svenXY
Datum: 20.10.2005-15:48
