| [reply] |
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 | [reply] [d/l] [select] |
i don't get that problem,
i'm running perl5.6 on a red hat linux boxen and it tests fine, the only difference being the script must be executable to run:
# ./foo.pl
j.a.p.h
Do you have seperate versions of perl running in different places? That could cause that behavior (although i'm not certain).
jynx | [reply] [d/l] |