Perl- Funktion opendir tut manchmal

Ich verwende opendir in einem großen Perl-Script.
Ich erhalte folgende Fehlermeldung:

Fehler beim Öffnen der Datei: Permission denied .

Kopiere ich die betreffenden Zeilen (IDENTISCH !) und mache daraus ein extra Script, funktioniert es tadellos =:\
Sowas ist mir noch nie passiert.

Hier ist der Code, welcher einmal funktioniert und einmal nicht:

$verzeichnis = „/parsen/ver-29-06-00/tt“;
opendir(DIR,$verzeichnis);
while($filename = readdir(DIR)) {
print $filename;
}

Danke für Tips und Infos :smile:

CU Seb

Tag.

Ich denke mal das Problem liegt bei den Zugriffsrechten. (kann Nerven kosten.

Vermutung:
Das große Skript gehört jemand anderem (andere User-ID). Dieser andere hat kein Leserecht auf das betreffende Verzeichnis. Das muß zu einem Zugriffsfehler führen.

Allerding hast du scheinbar Lese/Schreibrechte auf die Dateien des anderen. D.h. du kannst diese Dateien ändern. Das beeinflusst aber nicht die Besitzrechte.

Wenn du nun das Codestück in eine neue Datei schreibst, gehört die neue Datei dir, und das neue Skript hat demzufolge Zugriff auf das Verzeichnis und funktioniert.

Fazit: Check deine Usereinstellungen/Rechte

Wichtig: um auf ein verzeichnis zuzugreifen, muß auch dessen Ausführen-Flag gesetzt sein (chmod 777 verzname)

cu, holli

Tag.

Ich denke mal das Problem liegt bei den Zugriffsrechten. (kann
Nerven kosten.

Vermutung:
Das große Skript gehört jemand anderem (andere User-ID).

Nein eigentlich nicht. Zwischendurch hats mal jemand anders miteditiert, aber später wieder ich.

Dieser andere hat kein Leserecht auf das betreffende
Verzeichnis. Das muß zu einem Zugriffsfehler führen.

Das würde dann passen. Aber ich hab die Datei ja wiederbekommen und bei mir gespeichert und im gleichen Ordner ausgeführt wie die, welche funktioniert.

Allerding hast du scheinbar Lese/Schreibrechte auf die Dateien
des anderen. D.h. du kannst diese Dateien ändern. Das
beeinflusst aber nicht die Besitzrechte.

Wenn du nun das Codestück in eine neue Datei schreibst, gehört
die neue Datei dir, und das neue Skript hat demzufolge Zugriff
auf das Verzeichnis und funktioniert.

Fazit: Check deine Usereinstellungen/Rechte

Werd ich wohl sicherheitshalber mal machen. Danke.
P.S.: Ich arbeite mit ActivePerl unter Windows.

Danke ! Vielleicht klappts.
CU Sebastian :smile:

P.S.: Ich arbeite mit ActivePerl unter Windows.

Ach SO! Ich dachte du würdest mit Linux arbeiten.
In dem Fall kannst du alles vergessen und mich unter die Unwissenden einreihen.

ps. schick mir doch mal den quelltext ([email protected])

cu, holli