为什么在使用Perl执行Python脚本时,我没有遇到任何语法错误?

时间:2015-04-10 14:19:28

标签: python perl

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

perl test.py

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

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

#!/usr/bin/python

...Python code here...

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

1 个答案:

答案 0 :(得分:113)

来自perlrun

  

如果#!行不包含单词“perl”或单词“indir”,则执行以#!命名的程序而不是Perl解释器。这有点奇怪,但它可以帮助那些没有#!的机器上的人,因为他们可以告诉程序他们的SHELL是 / usr / bin / perl ,然后Perl会将程序发送给正确的解释器。

例如,

$ cat a
#!/bin/cat
meow

$ perl a
#!/bin/cat
meow
相关问题