frazier@oahu.cs.ucla.edu (Greg Frazier) (05/17/91)
rusty@groan.Berkeley.EDU (Rusty Wright) writes: >The man page for execve says that the pathname given after the #! can >be at most 32 characters. But the full pathname of perl on my machine >is more than 32 characters. Does anybody have recommendations on a >good consistent way to deal with this? I don't know if it's good, but you can create a local symbolic link to perl. -- Greg Frazier frazier@CS.UCLA.EDU !{ucbvax,rutgers}!ucla-cs!frazier
rusty@groan.Berkeley.EDU (Rusty Wright) (05/17/91)
The man page for execve says that the pathname given after the #! can be at most 32 characters. But the full pathname of perl on my machine is more than 32 characters. Does anybody have recommendations on a good consistent way to deal with this?
tchrist@convex.COM (Tom Christiansen) (05/18/91)
From the keyboard of rusty@groan.Berkeley.EDU (Rusty Wright):
:The man page for execve says that the pathname given after the #! can
:be at most 32 characters. But the full pathname of perl on my machine
:is more than 32 characters. Does anybody have recommendations on a
:good consistent way to deal with this?
You can make sh start it, then exec your own perl:
#!/bin/sh # need to mention perl here to avoid recursion
#
#
# NOTE:
# If you know where perl is and your system groks #!, put its
# pathname at the top to make this a tad faster.
#
# The following magic is from the perl man page
# and should work to get us to run with perl
# even if invoked as an sh or csh or foosh script.
# Notice we don't use full path 'cause we don't
# know where the user has put perl on their system.
#
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
& eval 'exec perl -S $0 $argv:q'
if $running_under_some_stupid_shell_instead_of_perl;
--tom
--
Tom Christiansen tchrist@convex.com convex!tchrist
"So much mail, so little time."