Thread Variable _ ? (52 answers)
Opened by bianca at 2020-12-25 10:24

haj
 2020-12-25 14:39
#193030 #193030
User since
2015-01-07
540 articles
BenutzerIn

user image
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.

View full thread Variable _ ?