in reply to Re: $^X signature
in thread $^X signature

Good point! I didn't think $^X would get changed, since #!/usr/bin/perl is still executed, correct? But definitally worth noting.

_14k4 - perlmonks@poorheart.com (www.poorheart.com)

Replies are listed 'Best First'.
Re: Re: Re: $^X signature
by higle (Chaplain) on Sep 13, 2001 at 21:47 UTC
    Perhaps, just perhaps, it's something to do with my Unix setup. I've got a box running HP Unix (blech), with the perl executable in /opt/perl5/bin/.

    On that machine, I wrote this script:
    #!/opt/perl5/bin/perl -w print $^X;
    When I start it using the perl command, it prints perl. When I start it using "./", I get
    /opt/perl5/bin/perl
    Intriguing. Makes me want to research it, just a bit more. I'd ++ you again if I could, just for giving me something to do today! :)

    Update: I looked in O'Reilly's "Learning the Korn Shell", and found the answer. (At least in the Korn shell)when you invoke Perl by using the perl command, the shell searches your $PATH, finds perl in there somewhere, and executes just that command. When you invoke a script using the "./" method, the shell grabs the shebang line, and uses that instead of searching the $PATH first. I guess it's really basic Unix (or Korn shell?) stuff, but it was interesting to figure out!

    higle