Thread Variable _ ?
(52 answers)
Opened by bianca at 2020-12-25 10:24
Das _ funktioniert nur, wenn der code vorher einen anderen File-Test aus der gleichen "Familie" von Funktionen verwendet hat. Das _ ist ein Cache für die zuletzt durchgeführten Tests, weil dahinter "teure" Systemfunktionen stecken. So geht's zum Beispiel:
Code (perl): (dl
)
1 2 3 4 5 if (-e $path) { if (-w _) { # Hier wird die Schreibbarkeit von $path bewertet ...; } } Das heikle daran ist, dass es da kein offensichtliches "Ende-Kriterium" gibt: Wenn mal ein File-Test (oder stat) gelaufen ist, dann bleibt _ als "nimm den Pfadnamen aus dem Cache" erstmal gültig. Wenn dann der File-Test nicht mehr stattfindet, wird _ - plötzlich und unerwartet - ungültig. |