In many perl scripts (especially well-known CPAN distributions), I find the following code snippet:
eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}' if 0; # not running under some shell
I was wondering why this is necessary?
Thank.
#!/usr/bin/perl , Perl script . , Perl , POSIX script perl(1). if 0 Perl, , eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}', .
#!/usr/bin/perl
perl(1)
if 0
eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}'
, perl. perl eval - if 0. perl eval.
eval
perl