当我使用 Perl 执行 Python 脚本时,为什么没有出现任何语法错误?

2024-03-21

我刚刚写了一些测试Python代码到test.py,我将按如下方式启动它:

perl test.py

过了一会儿我意识到自己的错误。我说“过了一会儿”,因为 Python 代码实际上被正确执行,就像在 Python 解释器中一样!

为什么我的 Perl 解释了我的 Python?test.py看起来像这样:

#!/usr/bin/python

...Python code here...

有趣的是,如果我做相反的事情(即调用python something.pl)我遇到很多语法错误。


From perlrun http://perldoc.perl.org/perlrun.html,

If the #!该行不包含单词“perl”,也不包含单词“indir”,该程序以#!代替 Perl 解释器执行。这有点奇怪,但它可以帮助人们在不这样做的机器上#!,因为他们可以告诉程序他们的 SHELL 是/usr/bin/perl,然后 Perl 会将程序分派给正确的解释器。

例如,

$ cat a
#!/bin/cat
meow

$ perl a
#!/bin/cat
meow
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我使用 Perl 执行 Python 脚本时,为什么没有出现任何语法错误? 的相关文章

随机推荐