http://www.perlmonks.org?node_id=496010


in reply to Re^2: path to perl interpreter
in thread path to perl interpreter

This node falls below the community's threshold of quality. You may see it by logging in.

Replies are listed 'Best First'.
Re^4: path to perl interpreter
by rnahi (Curate) on Sep 29, 2005 at 08:56 UTC

    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.
      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.

      In that case, wheel out the heavy artillery.

      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

Re^4: path to perl interpreter
by Tanktalus (Canon) on Sep 29, 2005 at 14:59 UTC

    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.

      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

      --MidLifeXis