/ / Чи потрібно мені включити рядок #! / Usr / bin / perl в скрипт Perl на Windows? - перл

Чи потрібно мені включити рядок #! / Usr / bin / perl в скрипт Perl на Windows? - перл

Я просто встановив ActivePerl в Windows і почав вивчати Perl. У книзі, яку я читаю, першим прикладом коду є таке:

#!/usr/bin/perl

use 5.010;

say "Hello, world!";

Оскільки я працюю на Windows, мені було цікаво, чи потрібно включити перший рядок?

Я видалив перший рядок, і без неї працювала програма.

Чи використовується ця лінія тільки в системах Unix?

Відповіді:

13 за відповідь № 1

Якщо ви хочете, щоб сценарій був портативним для UNIX іCygwin, тримайся в лінії Shebang. Навіть у Windows, де ОС не використовує його для визначення способу запуску файлу, Perl все одно аналізує там написані перемикачі, такі як

#!/usr/bin/perl -w

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


7 для відповіді № 2

Ні, не в цьому конкретному випадку. Лінія Shebang використовується оболонками в UNIX-подібних системах, щоб знайти виконуваний файл для скриптів, який, як правило, може бути на будь-якій мові.

Windows прагне використовувати для цієї мети асоціації розширення файлів. Наприклад, він може пов'язувати все *.pl файли для запуску з виконуваним файлом Active Perl.

Сам Perl воля сканування лінії, щоб отримати прапори і таке, так що це взагалі не зовсім марно.


3 для відповіді № 3

Ця лінія використовується оболонками в системах UNIX, у вікнах не потрібна, але хороша ідея все ще включати його і тримати вашу програму більш портативною