LEX: Dateien löschen (unlink?)

Hilfe, ich krieg es einfach nicht hin mit Perl Dateien zu löschen.
Aus einem Buch hab' ich den Befehl:
unlink(Datei1,Datei2,...); aber der will einfach nicht funktionieren. Mit voherigem opendir(PFAD); hat's auch nicht geklappt.

Hat jemand eine Idee?

  1. Hilfe, ich krieg es einfach nicht hin mit Perl Dateien zu löschen.
    Aus einem Buch hab' ich den Befehl:

    »»  unlink(Datei1,Datei2,...); aber der will einfach nicht funktionieren. Mit voherigem opendir(PFAD); hat's auch nicht geklappt.

    Hat jemand eine Idee?

    Versuch es mal mit

    system(del datei.ext);

    Gruß
    Cruz

    1. Versuch es mal mit

      system(del datei.ext);

      Es ist nicht sinnvoll, fuer irgendetwas, das man auch unmittelbar in Perl erledigen kann, die Shell zu benutzen.

      Ausserdem:

      Unquoted string "ext" may clash with future reserved word at test.pl line 2.
      Can't locate object method "del" via package "datei" at test.pl line 2.

      Peter

  2. Hi,

    Hilfe, ich krieg es einfach nicht hin mit Perl Dateien zu löschen.
    Aus einem Buch hab' ich den Befehl:

    »»  unlink(Datei1,Datei2,...); aber der will einfach nicht funktionieren. Mit voherigem opendir(PFAD); hat's auch nicht geklappt.

    dann vermute ich einfach mal, daß Du den Pfad falsch referenzierst.

    Du solltest bei solchen Operationen _immer_ den Errorcode abfangen:

    unlink($datei) or die "Kann $datei nicht loeschen: $!";
    opendir(HANDLER, $pfad) or die "Kann $pfad nicht oeffnen: $!";
    open(HANDLER, $datei) or die "Kann $datei nicht oeffnen: $!";
    close(HANDLER) or die "Kann zuvor geoeffnete Datei nicht schliessen: $!"; # nur bei zum Schreiben geöffneten Dateien wichtig, ansonsten aber auch nicht falsch

    Anschließend schau ins Errorlog des Servers.

    Cheatah