[comp.lang.perl] limitations of #!/usr/local/bin/perl ...

emv@math.lsa.umich.edu (Edward Vielmetti) (03/05/90)

This limitation should be noted in the documentation.

Version: perl v3 patch 12
OS: SunOS 4.0.3c
System: Sun 4/60

--- cut here ---
#!/usr/local/bin/perl -I/u/emv/perl

foreach (@INC) { print "$_\n"; }

--- cut here ---

duby ~/perl %  ./bug.perl
/u/emv/p
/usr/local/lib/perl
duby ~/perl %  

Looks like the #! line is being truncated at 32 characters;
when I change "perl" to "perl.old" it does this:

duby ~/perl %  !!
./bug.perl
/u/e
/usr/local/lib/perl

Sure enough, the man page for execve(2) says:

     An interpreter file begins with  a  line  of  the  form  `#!
     interpreter  [arg]', which is at most thirty-two characters.
					   ^^^^^^^^^^

32 characters, hmpth.  This should rate at least a warning on
the man page....

Workaround is to push the desired path into @INC like so
	push(@INC,"/u/emv/perl");

which then works OK.

!@#$%!@#$ #!,

--Ed

Edward Vielmetti, U of Michigan math dept.