我是否需要在Windows上的Perl脚本中包含#!/ usr / bin / perl行?

时间:2012-04-08 01:54:22

标签: perl

我刚刚在Windows上安装了ActivePerl,并开始学习Perl。在我正在阅读的书中,第一个代码示例如下:

#!/usr/bin/perl

use 5.010;

say "Hello, world!";

由于我在Windows上,我想知道是否需要包含第一行?

我删除了第一行,没有它,程序运行正常。

这条线只用在Unix系统上吗?

3 个答案:

答案 0 :(得分:14)

如果您希望脚本可以移植到UNIX和Cygwin,请保留shebang行。即使在操作系统不使用它来确定如何运行文件的Windows上,Pe​​rl仍然会解析那里写的开关,例如

#!/usr/bin/perl -w

默认情况下会启用警告(例如use warnings;但是全局)。

答案 1 :(得分:7)

不,不是在这种特殊情况下。在类UNIX系统中,shell使用shebang行来查找脚本的可执行文件,这些脚本通常可以是任何语言。

Windows倾向于为此目的使用文件扩展名关联。例如,它可以将要运行的所有*.pl文件与Active Perl可执行文件相关联。

Perl本身扫描该行以获取标志等,所以一般来说它并非完全没用。

答案 2 :(得分:3)

UNIX系统中的shell使用该行,不需要在Windows中使用,但最好还是包含它并保持程序的可移植性