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


in reply to Re^3: Writing a parser
in thread Writing a parser

I'm sorry to tell you, but on Linux, that is not allowed. On * nix systems the exec family of calls is used to start processes. From the execve(2) man page:

execve() executes the program pointed to by filename. filename must be either a binary executable, or a script starting with a line of the form "#! interpreter [arg]". In the latter case, the interpreter must be a valid pathname for an executable which is not itself a script, which will be invoked as interpreter [arg] filename

Note where it says, "the interpreter...is not itself a script". So you will have to use
#!/usr/bin/perl /path/to/my/script

--traveler