Your skill will accomplish what the force of many cannot |
|
PerlMonks |
Re^12: shebang anomalyby jeffenstein (Hermit) |
on Apr 25, 2018 at 13:40 UTC ( [id://1213530]=note: print w/replies, xml ) | Need Help?? |
If I understand this correctly: If the execl() function fails due to an error equivalent to the ENOEXEC error, the shell shall execute a command equivalent to having a shell invoked with the command name as its first operand, with any remaining arguments passed to the new shell.Then the shell is required to ignore the #! line if present, since the kernel already tried it and failed. However, this section of the other page you linked to hints that bash may do #! interpretation on systems that don't support #!, such as cygwin. So, I was completely off the mark for saying it might be in libc, but correct in the original response that it isn't the shell doing #! interpretation, since it's natively supported by macOS and Linux.
FWIW, here is what I used to use as a template, when I was working in a shop with Solaris, HP-UX, and Linux, and I couldn't count on the system's version of perl.
In Section
Seekers of Perl Wisdom
|
|