Могу ли я написать программу на Perl, в которой моя первая строка не #!/path/?
#!/path/
Спасибо.
Шебанг (#!) необходим только в том случае, если вы хотите вызвать скрипт непосредственно из командной строки, например, ./yourscript. Вы всегда можете сделать perl yourscript и пропустить шебанг.
#!
./yourscript
perl yourscript
Если ваша задача жестко кодировать постоянный путь (например, #! / Usr / bin / perl в отличие от #! / Usr / local / bin / perl), тогда используйте:
#!/usr/bin/env perl
Это позволяет искать интерпретатор Perl в вашем PATH, делая ваши сценарии более переносимыми (кроме Windows).
Да, с perldoc perlrun (под переключателем -S):
perldoc perlrun
-S
#!/bin/sh eval 'exec /usr/bin/perl -wS $0 ${1+"$@"}' if $running_under_some_shell;
См. Эту документацию для полной истории.
Если вы сделаете это, вам придется явно вызывать Perl. Если эта строка есть, то система знает, что это сценарий Perl, поэтому, когда вы делаете сценарий исполняемым, вы можете просто написать ./script