Inhalt einer Textdatei löschen

  • Guten Morgen =)!

    Ich bastle gerade an einem Perlscript und frage mich, wie ich den Inhalt einer Textdatei löschen kann. Ich will also nicht die Datei selbst löschen, sondern nur den Text, den sie beinhaltet.

    Habe schon ein paar Sachen gefunden, allerdings scheinen mir die sehr umständlich. Gibts denn nicht sowas wie

    Code
    $nix = "";
    overwrite(file, $nix);

    :D? Würde gerne die ganze Datei überschreiben und nicht in einer Schleife jede einzelne Zeile bearbeiten :shinner:?

    Wird das Internet eigentlich leichter, wenn man sich da was runterlädt?!

  • wenn die datei dann aber gleich lang wie vorher sein soll braeuchte man 2 mal truncate.

    laut manpage bewegt man sich da leicht aus dem POSIX-land. ob perl dieses problem dann intern aufloest weisz ich aber nicht.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • Code
    [mj@susi tmp]$ echo "ha" > test.dat
    [mj@susi tmp]$ cat test.dat 
    ha
    [mj@susi tmp]$ perl -e 'open HANDLE, ">test.dat" ; close HANDLE;'
    [mj@susi tmp]$ cat test.dat
    [mj@susi tmp]$

    also open reicht..
    lg

  • um genau zu sein ist es nicht ein "open reicht", sondern ein "open macht automatisch ein truncate".
    [edit]

    Zitat von perldoc


    If MODE is '>' , the file is truncated and opened for output, being created if necessary.


    [/edit]

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

    Einmal editiert, zuletzt von Kampi (4. Dezember 2009 um 13:24)

  • Nur zur Info: sicherheitshalber erstelle ich die Datei jedes Mal neu und lösche sie nach dem Zugriff wieder. Funktioniert auch :). Wollt ich zwar nicht, hab aber nachgefragt und es ist egal.

    Wird das Internet eigentlich leichter, wenn man sich da was runterlädt?!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!