Thread eigener name ausgeben (6 answers)
Opened by Gast at 2007-06-30 13:51

murphy
 2007-06-30 18:20
#78079 #78079
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Duff,30.06.2007, 14:53]Zu Windows kann ich nichts sagen, aber unter linux funktioniert es mit $0.
[...][/quote]

Unter Unices steht in $0 genau das, was als erstes Argument an den Perlinterpreter oder als nulltes Argument an das Skript selber übergeben wurde. Es kann also durchaus sein, dass in $0 ein beliebig komplizierter Pfad mit enthalten ist. Es ist auch möglich, dass $0 gar nicht den wahren Namen des Skriptes enthält, sondern den irgendeines symbolischen Links. Ich denke, in vielen Fällen sollte man lieber CPAN:FindBin verwenden anstatt direkt auf $0 zuzugreifen.

edit: Um noch ein Beispiel hinzuzufügen:
Code: (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl

use strict;
use warnings;

use FindBin qw/$Script/;

print "Hello, my basename is $Script\n";


Allerdings löst auch FindBin keine symbolischen Links auf. FindBin::Real tut das aber, glaube ich.\n\n

<!--EDIT|murphy|1183213892-->
When C++ is your hammer, every problem looks like your thumb.

View full thread eigener name ausgeben