Почему я не получаю никаких синтаксических ошибок при выполнении моего скрипта Python с Perl?
Я только что написал тестовый код python в test.py
, и я запускаю его следующим образом:
perl test.py
через некоторое время я понял свою ошибку. Я говорю: "через некоторое время", потому что Код Python фактически правильно выполняется, как будто в интерпретаторе Python!
почему мой Perl интерпретирует мой Python? test.py
выглядит так:
#!/usr/bin/python
...Python code here...
интересно, если я делаю наоборот (т. е. вызов python something.pl
) Я получаю много синтаксических ошибок.
1 ответ:
С perlrun,
если
#!
строка не содержит ни слова "perl" ни слова "indir" программа названа в честь#!
выполняется вместо интерпретатора Perl. Это немного странно, но это помогает людям на машинах, которые не делают#!
, потому что они могут сказать программе, что их оболочка / usr / bin / perl, и Perl затем отправит программу в правильный интерпретатор для их.например,
$ cat a #!/bin/cat meow $ perl a #!/bin/cat meow