Нужно ли включать строку #!/Usr/bin/perl в Perl script в Windows?

Я только что установил ActivePerl в Windows и начал изучать Perl. В книге, которую я читаю, первый пример кода:

#!/usr/bin/perl

use 5.010;

say "Hello, world!";

Поскольку я нахожусь в Windows, мне было интересно, нужно ли включать первую строку?

Я удалил первую строку, и программа отлично работала без нее.

Используется ли эта строка только для систем Unix?

Ответы

Ответ 1

Если вы хотите, чтобы script был переносимым в UNIX и Cygwin, держите линию shebang. Даже в Windows, где ОС не использует его для определения того, как запускать файл, Perl все равно будет синтаксически разглашать переключатели, например

#!/usr/bin/perl -w

который по умолчанию включает предупреждения (например, use warnings;, но глобально).

Ответ 2

Нет, не в этом конкретном случае. Строка shebang используется оболочками в UNIX-подобных системах для поиска исполняемого файла для скриптов, который обычно может быть на любом языке.

Для этой цели Windows обычно использует ассоциации расширения файлов. Например, он может связывать все *.pl файлы, которые будут запускаться с исполняемым исполняемым файлом Perl.

Perl сам сканирует строку, чтобы получить флаги и т.д., поэтому он вообще не бесполезен вообще.

Ответ 3

Эта строка используется оболочкой в ​​UNIX-системах, в окнах не нужна, но неплохо по-прежнему включать ее и держать вашу программу более переносимой.