Нужно ли включать строку #!/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-системах, в окнах не нужна, но неплохо по-прежнему включать ее и держать вашу программу более переносимой.