Verzeichnis mit Perl auslesen!
Flo
- perl
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
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.
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
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.
你好 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.
再见,
克里斯蒂安
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.
你好 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.
再见,
克里斯蒂安
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