bin/env perl vs bin/perl

Denis Zhdanov denis.zhdanov at gmail.com
Tue Aug 23 05:43:39 PDT 2011


Привет всем!
Педивикия http://en.wikipedia.org/wiki/Shebang_(Unix)#Portability
говорит что проблемы наблюдаются в OpenServer 5.0.6 и Unicos 9.0.2 в
котором есть  /bin/env но нет /usr/bin/env - но не думаю что кто то
юзает столь экзотические вещи. Еще тамже говорится что может быть
проблема с передачей аргументов такому скрипту - в смысле во многих
системах включая линукс не сработает #/usr/bin/env perl -d скажем.
Ну и еще минус env - security issue, в том смысле что злобный юзер
может подсунуть гадость в PATH под именем perl и она запустится вместо
настоящего perl ($PATH как и любая переменная окружения не считается
надежным источником информации).

23 августа 2011 г. 14:57 пользователь Yaroslav Korshak
<ykorshak at gmail.com> написал:
> Hello bor
>
> perlbrew позволяет держать несколько версий perl и переключаться между ними.
> Но если у тебя есть выполняемые скрипты с заголовком #!/usr/bin/perl то все
> настройки катятся в пропасть.
> Не так давно потерял пол часа на дебаг своего плагина к Module::Starter,
> прежде чем понял, что имею дело с такой ситуацией:
> cpanm установил мою библиотеку в perl-5.14.1, а module-starter
> (установленный в том же perl-5.14.1) выполняется через perl-5.10.1
> Собственно, патч уже готов, я только собираюсь проверить, везде ли есть
> /usr/bin/env и какие проблемы могут из этого получиться.
> Пока оных не вижу.
>
> --
> Regards
> yko
>
> On 08/23/2011 02:39 PM, Sergiy Borodych wrote:
>>
>> Hello mongers,
>>
>> Последнее время замечаю тенденцию писать в начале скрипта
>> #!/usr/bin/env perl
>> вместо
>> #!/usr/bin/perl
>>
>> Хотел бы спросить у уважаемого сообщества:
>> А с чем это связано ?
>> Какие плюсы в таком написании ?
>


More information about the Kiev-pm mailing list