Was bedeutet die spezielle @ Variable $ in Perl bedeuten?
Frage
Ich versuche, das folgende Stück Code zu verstehen:
sub foo {
...
if ( $@ ) {
...
die $@;
}
}
Lösung
Wenn es ein Syntaxfehler oder Laufzeit Fehler oder eine „die“ Aussage ausgeführt wird, ein undefinierter Wert ist zurück von „eval“, und $ @ wird auf die Fehlermeldung. Wenn es keine Fehler, $ @ ist garantiert eine Null sein String.
Siehe auch perldoc perlvar
.
Andere Tipps
$@
ist eine magische Variable die Fehlermeldung des letzten eval
Befehl, falls vorhanden, enthält.
Die if-Schleife durch eval vorangehen sollte es zu stoppen $ @ zu können.
Während ein eval (), $ @ immer bei einem Fehler gesetzt und auf Erfolg gelöscht.
Bei WHR-Code innerhalb eval () hat nicht kompilieren, $ @ wird auf die Übersetzungsfehler gesetzt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow