Flo: Verzeichnis mit Perl auslesen!

Hallo,

ich will auf einem Windows-System mit Perl alle Dateien auf einem Verzeichnis auslesen!

Die Dateien liegen in einem Unterverzeichnis "Dateien"! Ich habe folgendes Script benützt:

while (my $dateien = </Dateien/*> ) {

print "Dateien: $dateien\n";

}

Leider funktioniert dieses Script nicht! Habt ihr eine Ahnung warum mir keine Dateien ausgegeben werden?

Ich wollte erst auch chdir benützen, aber das funktioniert auch nicht! An was kann das liegen???

Vielen Dank

Florian

  1. hallo,

    Ich habe folgendes Script benützt:
    while (my $dateien = </Dateien/*> ) {
    print "Dateien: $dateien\n";
    }

    Das ist kein vollständiges Script.

    Leider funktioniert dieses Script nicht! Habt ihr eine Ahnung warum mir keine Dateien ausgegeben werden?

    Zu fragen wäre erst einmal, ob du das über einen lokal installierten Webserver auslesen möchtest. Das geht, dann mußt du dir ein entsprechendes Script als CGI-Script basteln. Wichtig ist, daß du dann beispielsweise mit opendir erst einmal dein Verzeichnis öffnest und die ganzen Dateinamen in einen Array einliest, dessen Bestandteile du dann wieder ausgeben kannst.
    Du kannst dir so eine Liste aber auch auf der Konsole ausgeben lassen, allerdings ist das wenig sinnvoll, da du ja im Explorer jederzeit in dein Verzeichnis schauen kannst.

    Ich wollte erst auch chdir benützen, aber das funktioniert auch nicht!

    Was funktioniert da nicht? Welche Fehlermeldungen erhältst du? Und warum willst du das Verzeichnis wechseln?

    An was kann das liegen?

    Diese Frage kannst du dir nach gründlicher Lektüre des Perl-Kapitels in SELFHTML bestimmt selbst beantworten.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Hi,

      kannst du mir bitte zeigen wie man in Perl ein anderes Verzeichnis ausliest und diese Dateien anzeigen lässt!

      Ich habe Active-Perl installiert und lasse alles über die Konsole laufen!

      Ich will halt in das andere Verzeichnis wechseln damit ich dort die Dateien benützen kann!

      Liebe Grüße

      Florian

      1. hallo,

        Ich habe Active-Perl installiert

        Dann hast du auch die Dokumentation zur Verfügung, die du wahrscheinlich unter C:\Programme\Perl\html\index.html finden kannst. Die enthält alles, was du wissen möchtest.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
    2. 你好 Christoph,

      Ich habe folgendes Script benützt:
      while (my $dateien = </Dateien/*> ) {
      print "Dateien: $dateien\n";
      }

      Das ist kein vollständiges Script.

      Doch, natürlich.

      [...] Wichtig ist, daß du dann beispielsweise mit opendir
      erst einmal dein Verzeichnis öffnest und die ganzen Dateinamen in einen
      Array einliest, dessen Bestandteile du dann wieder ausgeben kannst.

      Das ist falsch. Lese perldoc perlop, I/O Operators, über den <>-Operator,
      Stichwort typeglob. Der Grund, warum nichts ausgegeben wird, kann alles
      mögliche sein, am wahrscheinlichsten ist, dass das Verzeichnis /Dateien/
      nicht existiert.

      再见,
       克里斯蒂安

      --
      Plakatkleberei | Es geht schon wieder los: die Vorlesungen
      Ich bewundere wirklich den Sinn der Bienen für kollektive Verantwortung. Obwohl sich einzelne Bienen hin und wieder bekämpfen, herrscht zwischen Ihnen grundsätzlich ein starkes Gefühl für Eintracht und Zusammenarbeit. Wir Menschen gelten als sehr viel weiter entwickelt, doch mitunter rangieren wir sogar hinter kleinen Insekten.
      http://wwwtech.de/
      1. hallo CK,

        Das ist kein vollständiges Script.
        Doch, natürlich.

        Trotz fehlender Shebang?

        [...] Wichtig ist, daß du dann beispielsweise [...]
        Das ist falsch.

        _Ein_ Beispiel anzugeben, halte ich keineswegs für falsch. Es schließt ja nicht aus, daß auch andere Beispiellösungen möglich sind.

        Der Grund, warum nichts ausgegeben wird, kann alles
        mögliche sein, am wahrscheinlichsten ist, dass das Verzeichnis /Dateien/
        nicht existiert.

        Dem kann ich allerdings zustimmen.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. 你好 Christoph,

          Das ist kein vollständiges Script.
          Doch, natürlich.

          Trotz fehlender Shebang?

          Eine Shebang macht kein Script aus. Das ist ausschliesslich ein Hilfsmittel
          für die Shell.

          再见,
           克里斯蒂安

  2. Hallo,

    Leider funktioniert dieses Script nicht! Habt ihr eine Ahnung warum mir keine Dateien ausgegeben werden?
    Ich wollte erst auch chdir benützen, aber das funktioniert auch nicht! An was kann das liegen???

    Zuallerst an fehlendem Fehler-Management. grundsätzlich sollten zumindest alle Fehler die beim Umgang mit der 'Aussenwelt' auftreten können, ausgewertet werden (das berühmte 'or die $!');
    Und dann versuchst Du anscheinend (für Dich) neue Funktionen zu verwenden, ohne die dazugehörige Dokumenatation zu lesen.
    Aber das ist Dir ja schon gesagt worden.

    Ach ja, suche mal nach opendir und readdir. Das sind für Dich momentan die wichtigsten Schlagwörter.

    Grüße
      Klaus