danke nochmal taulmarill
aber ich hab jetzt lange an der for schleife rumstudiert, nur komme ich auf keinen grünen zweig. ich versuche mal die schleife wörtlich aufzulösen, vielleicht kann mir ja jemand das fehlende erklären und mich ggbf korrigieren.
hoffentlich macht sich überhaupt jemand die mühe, das hier alles durch zu lesen.
erstens mal die theorie, die ich in einem tutorial gelesen habe
for (Initialisierungsausdruck; Bedingung; Reinitialisierungsbefehl) { # Schleifenkopf
Befehl; # Schleifenkörper
}
nochmal das script
for my $file ( $muh =~ /<DIR>\s*([^\s]+)/g ) {
schleifenkopf
ich würde jetzt einfach mal sagen, dass der initialisierungsaudruck my $file ist, die bedinung ($muh =~ "regex") und der reinitialisierungsbefehl wird anscheinend nicht benötigt.
also:
so lange <dir> leerzeichen ([nicht_leerzeichen]ein_oder_mehrmals)global vorhanden, wird der schliefenkörper ausgeführt.
wobei mich der ausdruck global ein wenig verwirrt
$file =~ s/\d\d-\d\d-\d\d$//;
print "$file\n";
}
schleifenkörper
suche in $file zahl_zahl_"-"_zahl_zahl_"-"_zahl_zahl_$/ und ersetze es mit nichts
print is mir klar :P
$ musste ich nachschauen, kannte ich bis jetzt auch nicht
QuoteDas Dollarzeichen kann einen Skalar einleiten oder bei Zeichenketten angeben, dass das voranstehende Suchmuster am Ende des Suchbereichs vorkommen muss.
nur welcher skalar wird eingeleitet? $muh?
aber macht irgendwie keinen sinn, dann würde doch der name der ordner, die ich eigentlich "printen" will, gelöscht?
hm.. ja, das wars erstma ;)