#!/usr/bin/env perl
использует стандартный инструмент POSIX env
, чтобы обойти «проблему», заключающуюся в том, что UNIX не поддерживает относительные пути в линиях Шебанга (AFAIK).Инструмент env
можно использовать для запуска программы (в данном случае perl) после изменения переменных среды.В этом случае переменные не изменяются, а env
затем ищет в PATH Perl и запускает его.Таким образом, скрипт с этой конкретной строкой shebang будет работать, даже если Perl установлен не в /usr/bin
, а по какому-то другому пути (который должен быть в переменной PATH).работает: вы сказали, что в нем установлены исполняемые биты, как в chmod +x script.pl
?Но также начинается ли с линии Шебанга (#!
)?То есть самые первые два байта должны быть #!
, и за ним должен следовать путь к файлу (до perl).Это необходимо, чтобы сообщить ядру, с какой программой запускать этот скрипт.Если вы сделали это, правильный ли путь?Вы хотите попробовать вариант #!/usr/bin/env perl
; -)