I just wasted a whole day on this issue. My customer had a number of Perl scripts with the following:
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' & eval 'exec perl -S $0 $argv:q' if 0; # THE PRECEEDING STUFF EXECS perl via $PATH
These were called via /bin/sh : works fine on centos3, centos4, sles 9, sled 10 but not Ubuntu.
Does someone want to tell me why dash doesn't like this ?
I just wasted a whole day on this issue. My customer had a number of Perl scripts with the following:
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
& eval 'exec perl -S $0 $argv:q'
if 0;
# THE PRECEEDING STUFF EXECS perl via $PATH
These were called via /bin/sh : works fine on centos3, centos4, sles 9, sled 10 but not Ubuntu.
Does someone want to tell me why dash doesn't like this ?