Why don't I get any syntax errors when I execute my Python script with Perl?
I just wrote some testing python code into
test.py, and I'm launching it as follows:
After a while I realized my mistake. I say "after a while", because the Python code gets actually correctly executed, as if in Python interpreter!
Why is my Perl interpreting my Python?
test.py looks like this:
#!/usr/bin/python ...Python code here...
Interestingly, if I do the opposite (i.e. call
python something.pl) I get a good deal of syntax errors.
#!line does not contain the word "perl" nor the word "indir" the program named after the
#!is executed instead of the Perl interpreter. This is slightly bizarre, but it helps people on machines that don't do
#!, because they can tell a program that their SHELL is /usr/bin/perl , and Perl will then dispatch the program to the correct interpreter for them.
$ cat a #!/bin/cat meow $ perl a #!/bin/cat meow