shawn@willow.MV.COM (Shawn M. Rogers) (03/21/91)
Hi,
I've got a pretty simple question that is driving me crazy...
I'm running SCO XENIX 2.3.2 and am using perl 3.44. My shell does not
use the "#!" that is used in many shell scripts at the beginning.
According to the nutshell handbook on perl, a way around this is
by replacing the "#!" line with the following:
eval '/usr/bin/perl -S $0 ${1+"$@"}'
if 0;
[perl script here....]
This works to some degree... The perl script runs, but then when it
finishes executing, I get an error. Here is an exaple:
*** SCRIPT ****
eval '/usr/bin/perl -S $0 ${1+"$@"}'
if 0;
print "Howdy, world!\n";
*** OUTPUT ***
Howdy, world!
howdy: syntax error at line 4: `end of file' unexpected
Can anybody tell me why I'm getting this error when the script runs?
Is there a way around it?
Please email your response unless you think it would be of general
interest....and, thank you for your help in advance!
Shawn
--
Shawn M. Rogers shawn@willow.MV.COM
176 East Street #205A ..{decvax | harvard}!zinn!wgc386!slum!willow!shawn
Methuen, MA 01844 ...uunet!samsung!wizvax!willow!shawnmerlyn@iwarp.intel.com (Randal L. Schwartz) (03/22/91)
In article <224@willow.MV.COM>, shawn@willow (Shawn M. Rogers) writes: | According to the nutshell handbook on perl, a way around this is | by replacing the "#!" line with the following: | | eval '/usr/bin/perl -S $0 ${1+"$@"}' | if 0; | [perl script here....] Missing an "exec" in there. It's wrong on page 5, although it's correct on page 216. Try: eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; [perl script here....] The typo is already noted on the Perl 4.0 manpage. (Read the *fine* manpage. :-) @a = (Just,another,Perl,"hacker,"); print "@a"; -- /=Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ==========\ | on contract to Intel's iWarp project, Beaverton, Oregon, USA, Sol III | | merlyn@iwarp.intel.com ...!any-MX-mailer-like-uunet!iwarp.intel.com!merlyn | \=Cute Quote: "Intel: putting the 'backward' in 'backward compatible'..."====/