Thread wer hat lust auf ein Spiel? (61 answers)
Opened by conray at 2010-02-19 20:31

betterworld
 2010-03-03 18:13
#134021 #134021
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
2010-03-03T12:11:31 murphy
Wenn das Skript aber korrekt mit dem Perlinterpreter verknüpft ist, im Pfad liegt und aus einem ganz anderen Arbeitsverzeichnis aufgerufen wird, kann es sein, dass in $0 einfach nur der Name des Skriptes steht, aber kein Pfad der relativ zum aktuellen Arbeitsverzeichnis auf das Skript zeigt.

Nee. Wenn das Script in $PATH liegt und man es entweder in der Shell mit "script.pl" oder mit "perl -S script.pl" ausführt, so wird der entsprechende Pfad auch noch vorne an $0 angefügt. Ich hatte mich auch gefragt, warum hier nicht einfach $0 statt FindBin verwendet wurde.

(Getestet auf GNU/Linux)

FindBin finde ich praktisch für seine Variable $RealBin, denn das ist etwas, was ohne Modul recht umständlich herauszufinden ist. (Nämlich der Name des Verzeichnisses, in dem das Script liegt, auch wenn es über einen Symlink aufgerufen wurde.)

Aber wenn ich nur den Namen des Scriptes wissen will, reicht in der Regel auch $0. (Auf Verzeichniswechsel muss man aufpassen.) Ich wäre daran interessiert, von einem anderen Fall zu hören.

Code (perl): (dl )
open 0 or die $!; print <0>;

View full thread wer hat lust auf ein Spiel?