Lieber Reinhardt, was steht in $base_dir? Und Dein closedir am Ende sollte richtig geschrieben sein (aber das ist nicht das Problem!) Am Mittwoch, den 15.02.2012, 23:13 +0100 schrieb Sebastian Reinhardt:
Hallo, bin dabei eine Script zu schreiben, das eine Liste mit Dateien erzeugen soll. Das Script anhand des Schlüsselwortes "thumb" ein vorhandenes Unterverzeichnis erkennt, soll dieses Verzeichnis geöffnet und die Liste der Dateien erstellen. Dummer Weise sagt es mir aber, dass das Verzeichnis nicht existiert. Das ist nat. vorhanden und lesbar! Hier der relevante Teil des Scriptes: ----------------------------------------------------------------------------------------------------------------------------- #!/usr/bin/perl my $result = opendir(DIR1,$base_dir) or die "read dir $base_dir - $!"; if($result) { @eintraege=map {Encode::decode 'utf8', $_} readdir DIR1; # Verzeichnisinhalt alphabetisch sortieren @eintraege = sort @eintraege; . . if ( grep(/medium/,@eintraege) gt 0 || grep(/thumb/,@eintraege) gt 0 ) { $pic_dir=2; } . } closedir DIR1; . . . # # neu einlesen der Bilder, wenn medium/thumb- Verzeichnisse vorhanden sind # if ( $pic_dir eq 2 ) { # alte Eintraege loeschen @eintraege=''; my $base_dir_neu=$base_dir."/thumb"; my $result_neu = opendir(DIR2,$base_dir_neu) or die "read dir $base_dir_neu - $!"; print "result_neu:".$result_neu."|<br>"; if($result_neu) { @eintraege=map {Encode::decode 'utf8', $_} readdir DIR2; . . . } clodedir DIR2; } ----------------------------------------------------------------------------------------------------------------------------- Wenn ich das Unterverzeichnis (also den Inhalt von $base_dir_neu), was angeblich nicht lesbar ist, nun als Ausgangsverzeichnis angebe, dann funktioniert alles und die Datei-/Verzeichnisliste wird erzeugt. Natürlich kann man das auch anders schreiben und nicht zwei "if"'s hintereinander. Das dient nur zum "debuggen", funktioniert so aber leider auch nicht. Was mache ich falsch? Es gibt einfach kein "$result_neu"..... :-( Das ganze wird i.Ü. in einem "cgi"-Script auf einer oS12.1 x86_64 Kiste verwendet.
-- Mit freundlichen Grüßen
Sebastian Reinhardt
-- Beste Gruesse Christoph Stockmayer --------------------------------------------------- Ingenieurbuero Christoph Stockmayer GmbH Dipl.Ing. Chr. Stockmayer SCLT, CNI, LPIC1, CLA Dreihoehenstr. 1 90571 Schwaig Tel: 0911/505241 Fax: 0911/5009584 eMail: sto@stockmayer.de, christoph.stockmayer@gmx.de ePost: christoph.stockmayer@epost.de WWW: www.stockmayer.de, www.stockmayer.eu Geschaeftsfuehrer: Christoph Stockmayer HRB 1290, Bad Hersfeld, Abt. Rotenburg --------------------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org