Может ли кто-нибудь объяснить мне, что делает следующее? Какова цель этого куска кода?Понимание кода chunk perl
#!/bin/perl
eval 'exec perl5 -S $0 ${1+"[email protected]"}'
if 0;
Спасибо большое!
EDIT1: Я пытаюсь изменить блок кода выше в:
#!/bin/sh
eval 'exec perl5 -S $0 ${1+"[email protected]"}'
if 0;
, и я думаю, что он должен работать, потому что сценарий рассматривается как сценарий оболочки и eval
получить казнены и perl5
вызывается для используйте perl для выполнения того же скрипта. Однако, когда я на самом деле запустить это, я получил:
/bin/sh: -S: invalid option
Может кто-нибудь объяснить, почему в этом случае сценарий не удалось. Я что-то неправильно понимаю? Я использую ksh
Спасибо большое!
EDIT2: EDIT1 кажется совершенно отдельный вопрос, и я отправляю его here
Просто ищите эту фразу, которая дает множество хитов, среди которых [Что такое точное значение find2perl perl shebang + eval?] (Http://stackoverflow.com/questions/ 6123971/что-это-The-точным означая-оф-find2perl жемчужно-притон-Eval). И это должно ответить на ваш вопрос. –
@SteffenUllrich Спасибо за ссылку! – zack
Этот код исходил из 'find2perl'? – Borodin