当我用Perl执行我的Python脚本时,为什么我没有得到任何语法错误?

我只是写了一些testingpython代码到test.py ,我正在启动它,如下所示:

 perl test.py 

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

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

 #!/usr/bin/python ...Python code here... 

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

One Solution collect form web for “当我用Perl执行我的Python脚本时,为什么我没有得到任何语法错误?”

从perlrun ,

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

例如,

 $ cat >a #!/bin/cat meow $ perl a #!/bin/cat meow 
  • 在Python中,为什么使用日志而不是打印?
  • 保存对象(数据持久性)
  • 设置Matplotlib颜色条大小匹配图
  • Python UnicodeDecodeError - 我误解编码?
  • 如何在Flask中提供静态文件
  • Python编程语言的Python接口
  • 如何迭代Python,几天,几个小时,几周,几个月后的时间跨度?
  • Python属性如何工作?
  • 如何更改默认的Anaconda python环境
  • 什么是存储Python程序设置的官方方式?
  • 如何根据值testing多个variables?