Почему я не получаю никаких синтаксических ошибок при выполнении моего скрипта 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