herrgute: verzeichnis durchsuchen

Hai di ho.

Eine frage: Ich möchte mit perl in einem verzeichnis ein paar dateien anlegen. nun will ich zuerst checken ob schon eine datei (die ich anlegen möchte) bereits vorhanden ist wenn ja dann nichts machen wenn nein dann hineinschreiben.

soweit so gut nun schaff ich es aber nicht alle dateien zu durchsuchen und richtig zu prüfen ob schon vorhanden oder nicht.

ich habe mit bereits mit array's, hashes, exists, glob, "aufzähungs"dateien usw. rumgespielt aber ich komm einfach nicht zu dem gewünschten ergebnis.

wie würdet ihr das anstellen? Vielleicht kann ich ja was übernehmen.

Danke im vorraus.

Lg Dietmar

  1. Hoi.

    http://de.selfhtml.org/perl/index.htm
    http://de.selfhtml.org/perl/funktionen/dateiverwaltung.htm#dateitest

    SELFHTML kann nicht nur HTML, sondern auch Perl! ;-)

    Grüße

    1. Huhu

      Danke für die schnelle antwort. Am meisten nervt mich aber eines: ich wusste dass das damit geht nur mir ist es einfach nicht eingefallen ,verdammt.

      Aber nun eine andere frage.

      Ich habe ein programm geschrieben. Dieses programm legt mehrere dateien in verschiedenen verzeichnissen an. Klappt jetzt alles wunderbar nur eines gefällt mir noch nicht: ich will nachdem alle dateien angelegt wurden das programm löschen. wie mach ich das?
      dass man sowas mit unlink macht weiss ich aber wie schaff ich es in dem gleichen programm noch anzugeben das es nach dem beenden gelöscht werden soll? bei mir klappt es nicht.

      danke.

      1. Hallo ich!

        dass man sowas mit unlink macht weiss ich aber wie schaff ich es in dem gleichen programm noch anzugeben das es nach dem beenden gelöscht werden soll? bei mir klappt es nicht.

        Das wird bei niemandem klappen: Wie soll ein Programm, das beendet wurde, noch irgendwas ausführen, geschweige denn seine eigene Programmdatei löschen [1]?

        Wie wär's, wenn es _vor_ dem Beenden, also als letzte Anweisung, die ausgeführt werden muss, notiert wird? Folgendes funzt(TM) auf Windows:

        use strict;  
          
        my $datei = "u.pl";  
        unlink $datei;
        

        Programm auf dem Desktop gespeichert, beim Aufruf poppt die cmd.exe auf, und ich kann sehen, wie das Icon verschwindet ;)

        [1] Das einzige Programm, dem ich das zutrauen würde, wäre Windows ;)

        Viele Grüße aus Frankfurt/Main,
        Patrick

        --

        _ - jenseits vom delirium - _
        [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
        Nichts ist unmöglich? Doch!
        Heute schon gegökt?
        All'alba vincerò!
  2. hi,

    Eine frage: Ich möchte mit perl in einem verzeichnis ein paar dateien anlegen. nun will ich zuerst checken ob schon eine datei (die ich anlegen möchte) bereits vorhanden ist wenn ja dann nichts machen wenn nein dann hineinschreiben.

    Du musst dazu nicht das ganze Verzeichnis durchsuchen. Zum Testen, ob eine Datei existiert, gibt es die Testoperatoren -f (file) und -e (exists).

    Bsp.:

    ``~~~perl

    if(-f $file){} # Datei gibt es

      
    Hotte