And the clouds parted, and [EMAIL PROTECTED] said... > Hi, > > I have a little problem. I have script "test.pl" and inside this script I want to > know what is "my name" (I mean this "test.pl". > > test.pl script > --------------- > > my $this_scripts_name_is = who_am_I(); > > sub who_am_I > { > my $my_name = xxxx; # what I have to put to this "xxxx" to get "test.pl" scripts > name > > return $my_name; > } >
I ran into exactly this issue, but I wanted to just get the actual script name. $0 returns the entire path the script was invoked as. ie - $0 could be "../../foo/bar/blarch/scriptname.pl", but I just wanted "scriptname.pl". Here's a line that will give you exactly that. ($PROGNAME = $0) =~ s|(\.?\.?(/[^/]+)*/)?([^/]+)|$3|; ...or, to put it in the above terms: my $this_scripts_name_is = who_am_I(); sub who_am_I { my $PROGNAME; ($PROGNAME = $0) =~ s|(\.?\.?(/[^/]+)*/)?([^/]+)|$3|; return $PROGNAME; } HTH- Brian /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\ | Brian Gerard Overflow on /dev/null; | | First initial + 'lists' please empty the bit bucket. | | at technobrat dot com | \______________________________________________________________________/ -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]