hallo Forum ;-)
es könnte bemerkt worden sein, daß ich mich in den letzten Tagen bemühe, endlich richtig PERL zu lernen bzw. das, was ich mal vor langer Zeit gelernt habe, auf den angemessenen Stand zu bringen - insbesondere, was CGI.pm angeht.
Da habbich nun nochmal nen Problemchen. Folgendes will ich machen, um den Inhalt der Dateien in einem Verzeichnis in einen Array einzulesen und weiterzuverarbeiten:
opendir(VERZ,"$basedir") || die $!;
@inhalt = readdir(VERZ);
closedir(VERZ);
print $cgi->header().
$cgi->start_html(-title =>'Verzeichnis auslesen', -style =>{'src'=>$css}).
"\n";
foreach $zeile (@inhalt) {
if ($zeile ne '.' && $zeile ne '..') {
open(LISTE,"+<$basedir/$zeile") || die $!;
@anzeige = <LISTE>;
close(LISTE);
}
foreach $zeile_neu (@anzeige) {
[tu irgendwas]
}
}
print $cgi->end_html();
Nett, gelle? Funktioniert auch prima, egal was ich in [tu irgendwas] noch an Dutzenden von Codezeilen reinschubse - aber es funktioniert "zu gut". Ich habe in dem auszulesenden Verzeichnis etliche hundert *.htm-Dateien liegen, auf die es ankommt. Leider aber liegen auch noch ungefähr zehn *.txt-Dateien drin und zwei PHP-Scripts, und _die_ sollen nun nicht mit erfaßt werden. Ich müßte also meine Bedingung
if ($zeile ne '.' && $zeile ne '..')
(die das Durchsuchen des übergeordneten Verzeichnisses unterbindet) noch irgendwie durch irgendein "elsif" ergänzen, mit dem auch die Dateien, die _nicht_ *.htm sind, von der Erfassung ausgeschlossen werden. Das sollte eigentlich fürchterlich leicht sein, aber ich hab mich wohl zu sehr darein verbissen, so daß ich grade nicht drauf komme. Kann sich jemand dazu herablassen, mal nen klitzekleinen Hinweis zu geben?
Grüße aus Berlin
Christoph S.
mailto:christoph.schnauss@berlin.de
http://www.christoph-schnauss.de
ss:| zu:) ls:& fo:) va:) sh:| rl:|