Hi. My nick is rnahi, not "Mhai."
You are referring to something that looks like
copyrighted material with wrong information.
Have a look at
the official docs
.
$^X
The name used to execute the current copy of Perl, from C's
argv[0].
Depending on the host operating system, the value of
$^X may be a relative or absolute pathname of the
perl program file, or may be the string used to invoke perl
but not the pathname of the perl program file. Also, most
operating systems permit invoking programs that are not in
the PATH environment variable, so there is no guarantee
that the value of $^X is in PATH.
| [reply] [d/l] [select] |
use Config;
my $perl = $Config{perlpath};
$perl .= $Config{_exe}
if $^O ne 'VMS' and $perl !~ /$Config{_exe}$/i;
print "executable is $perl\n";
(Completely off-topic: This is my 1000th post!)
• another intruder with the mooring in the heart of the Perl
| [reply] [d/l] |
kprasanna_79,
I'm sorry, but did you even try it? Given how easy/fast it is to try what you're about to post, I'd highly suggest it - you seem to be very prone to confidently posting completely wrong information, which suggests to me that you need to find a new source of information. May I recommend the perl interpreter itself?
$ uname -a
HP-UX dessert B.11.11 U 9000/800 1131039648 unlimited-user license
$ cat t.pl
#! /usr/bin/perl
print $^X,"\n";
$ ./t.pl
/usr/bin/perl
Name a platform where this works the way you say it does. I probably have access to it and will test it out. AIX (4 or 5), Sun (2.6 through 2.10), HP (11i, 11.23), HP/ia64 (11.23), Linux on ia32, ia64, amd64, ppc64, s390. Windows on ia32, ia64, or amd64 (although the latter two will take me a couple hours to get, I will call you on it). You pick. You even get to write the script if you want. | [reply] [d/l] |
You are both right. Under HP-UX it depends on the command used to start the script. If you start it with the full path, you will get the full path. If you start it with a relative value, you will get a relative value. That also goes for the shebang line.
$ /usr/contrib/bin/perl -e 'print $^X, "\n"'
/usr/contrib/bin/perl
$ perl -e 'print $^X, "\n"'
perl
$ uname -a
HP-UX noway B.11.00 A 9000/800 xxxxxxxx two-user license
$ perl -e 'print $^O, "\n"'
hpux
| [reply] [d/l] |