Hallo,
opendir(MES,"messages") or die "An error occurred : $!\n";
while (my $datafile = readdir(MES)) {
if ($datafile =~ /$posting/) {
rename($posting, $neues_posting);
}
}
closedir(MES);
$datafile ist wirklich nur der Name der Datei und nicht inklusive Pfad. Da aber die Datei im Ordner 'messages' steht müßte es eigentlich
rename("messages/$posting", "messages/$neues_posting");
heißen.
(Abgesehen davon, daß es nicht sichergestellt ist, in welchem Verzeichnis Dein Script wirklich arbeitet, wenn es vom Webserver aufgerufen wird)
Was eventuelle Fehlermeldungen betriff, so solltets Du jede Funktion, welche potentiell schiefgehen kann, auch dementsprechend behandeln, also eigentlich etwas wie
rename (....) or die "Das umbenenen der Datei hat nicht geklappt: $!\n";
Sonst wird es einfach nur nicht gemacht, ohne daß jemand etwas davon erfährt;-)
Grüße
Klaus