Я просто встановив 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, у вікнах не потрібна, але хороша ідея все ще включати його і тримати вашу програму більш портативною