Thread Verzeichnisse erstellen mit make_path( )
(5 answers)
Opened by YAPD at 2021-05-24 12:53 2021-05-24T13:15:34 YAPD Online heißt aber nicht, dass ich da tatsächlich reinschaue. Ich habe immer zu viele Fenster offen :) 2021-05-24T13:15:34 YAPD So würde ich das nicht machen, das hatte ich beim ersten Mal übersehen. Laut Beschreibung von File::Path wäre $LG_FH_Directory_Error immer wahr. Die Doppelprüfung auf $LG_FH_Directory_Error und @$LG_FH_Directory_Error ist ein "Sicherheitsnetz", falls File::Path unerwartet früh zurückkommt: Da würde sonst eine undefinierte Variable als Referenz verwendet. Sollte dieser "eigentlich unmögliche" Fall aber tatsächlich mal eintreten, dann liefert der Test !$LG_FH_Directory_Error ein "wahr", der oder-Zweig wird gar nicht ausgewertet, und Du bekommst einen Status von 0, den Du als "kein Fehler" interpretierst (Bei der Gelegenheit: 0 als "ok" und 1 als "Fehler" halte ich für einigermaßen nichtssagend). Wenn Dich Fehlerdetails nicht interessieren, kannst Du doch auch direkt den Return-Wert benutzen: Code (perl): (dl
)
$LG_FH_Directory_Status = (-d $path) || make_path( $path ) ? 0 : 1; Noch ein Fehler ist drin: Code (perl): (dl
)
make_path( '$path' , { error => \$LG_FH_Directory_Error } ); Da wird '$path' nicht interpoliert, d.h. Du legst ein Verzeichnis an, dass tatsächlich $path heißt (zumindest unter Linux). 2021-05-24T13:15:34 YAPD Es wird ja vermutlich bei Dir keine Rolle spielen, aber unter Linux kann man sehr wohl ein Verzeichnis mit dem Namen * anlegen! |