ich beschäftige mich gerade gezwungenermaßen mit Perl und komme nicht weiter. Die Aufgabe ist eigentlich ganz einfach: Ich muss prüfen ob es ein Verzeichnis gibt und entsprechend reagieren. Der entsprechende Teil meines scriptes sieht folgendermaßen aus:
Wenn $go=1 ist, wird die Schleife verlassen und das Verzeichnis angelegt. Es ist aber egal ob es ein Verzeichnis bereits gibt oder nicht, das Kript gibt immer zurück, dass das Verzeichnis nicht existiert.
aber, denke bitte daran, rand ist nicht gut geeignet, um temporäre Dateien zu erstellen, weil es passieren kann, dass die selbe Zufallszahl in Serie hintereinander generiert wird.
genau das ist ja das Problem. Deshalb möchte ich ja prüfen ob das Verzeichnis bereits existiert und wenn dem so ist eine neue Zufallszahl erzeugen, solange bis ein Verzeichnisname raus kommt, der noch nicht verwendet wurde.
Meine Frage ist ja deshalb auch nicht wie man eine bessere Zufallszahl erzeugt, sondern wieso das Prüfen des Verzeichnisses nicht funktioniert. Die entscheidende Zeile ist also:
Ja, das sollte sie. Deshalb habe ich auch geschrieben: Es wird aber immer "Verzeichnis XY nicht vorhanden!" ausgegeben, auch wenn es im Durchlauf zuvor angelegt wurde. Offensichtlich funktioniert die Abfrage so nicht. Aber warum?
Ich glaube nicht, dass Perl hier schwindelt. Möglicherweise wird das Verzeichnis an einer anderen Stelle angelegt, oder die Permission stimmt nicht. Besonders im /tmp Verzeichnis, dort gelten oft andere Zugriffsrechte. Grüße Oesi Ich weiß, dass ich nicht weiß... (Sokrates)
Das Verzeichnis wird auf jeden Fall an der richtigen Stelle angelegt. Wie müssen denn die Permissions sein? Möglicherweise kann ich nach dem Anlegen des Verzeichnisses noch einen chmod hinterherschieben...