Hallo,
ich hab gestern schon so was ähnliches gefragt, aber es geht jetzt darum ,daß ich Textdateien von einem anderen Verzeichnis auslesen will, aber es funktioniert leider nicht, weil er die Files nicht auslesen kann so wie es scheint. Ich bekomme keine Fehlermeldung, aber nur einen weißen Bildschirm.
Ich habe zur Probe 2 Scripts gemacht um zu checken, ob vielleicht der reguläre Ausdruck oder das Verzeichnis oder sonst etwas falsch is, aber er findet die Dateien. Nur gibt er mir den Inhalt nicht aus. Jetzt hab ich mich gefragt ob das überhaupt so funktioniert ?
Hier das Script das beweist, daß er die Dateien findet.
#!/usr/bin/perl -w
$verzeichnis = "test";
print "Content-type:text/html\n\n";
opendir(DIR, "$verzeichnis") or die "Verzeichnis kann nicht geoeffnet werden : $!\n";
while ($file = readdir(DIR)) {
if ($file =~ /text\d+.txt/) {
push @dateien, $file."\n";
}
}
closedir DIR;
print @dateien;
Aber wenn ich mit open die gefundenen Verzeichnisse öffnen will tut er gar nichts ?
#!/usr/bin/perl -w
@dateien = "";
@dateiinhalt = "";
$verzeichnis = "test";
print "Content-type:text/html\n\n";
opendir(DIR, "$verzeichnis") or die "Verzeichnis kann nicht geoeffnet werden : $!\n";
while ($file = readdir(DIR)) {
if ($file =~ /text\d+.txt/) {
open (DATEI,"$file") or die "Konnte $file nicht oeffnen : $!\n";
@dateiinhalt = <DATEI>;
@dateiinhalt = reverse @dateiinhalt;
($letzte_zeile, @textdaten) = @dateiinhalt;
@textdaten = reverse @textdaten;
foreach $zeile(@textdaten) {
$zeile =~ s/\n/<br>/;
print "$zeile\n";
}
print "$letzte_zeile<br>\n";
print '*' x 20, "<br>\n";
close DATEI;
}
}
closedir DIR;
Meiner Meinung nach is das Script korrekt, die Frage is nur ob es überhaupt möglich is. Ich hoffe jemand kann mir helfen, danke.