about summary refs log tree commit diff
path: root/generator/ppmrainbow
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2013-04-12 02:43:39 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2013-04-12 02:43:39 +0000
commitcb3a70735e2d1532380a420803c9c21732e0a20c (patch)
tree3417534f0cdea9fedd55234abac8cb57cce06493 /generator/ppmrainbow
parentcaa6d1fe1bec3de42de6ac18536bd09e4385a18c (diff)
downloadnetpbm-mirror-cb3a70735e2d1532380a420803c9c21732e0a20c.tar.gz
netpbm-mirror-cb3a70735e2d1532380a420803c9c21732e0a20c.tar.xz
netpbm-mirror-cb3a70735e2d1532380a420803c9c21732e0a20c.zip
Make Perl programs find the Perl interpreter via PATH
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1878 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'generator/ppmrainbow')
-rwxr-xr-xgenerator/ppmrainbow26
1 files changed, 25 insertions, 1 deletions
diff --git a/generator/ppmrainbow b/generator/ppmrainbow
index 96e304ac..c0568d9b 100755
--- a/generator/ppmrainbow
+++ b/generator/ppmrainbow
@@ -1,4 +1,28 @@
-#!/usr/bin/perl -wl
+#!/bin/sh
+
+##############################################################################
+# This is essentially a Perl program.  We exec the Perl interpreter specifying
+# this same file as the Perl program and use the -x option to cause the Perl
+# interpreter to skip down to the Perl code.  The reason we do this instead of
+# just making /usr/bin/perl the script interpreter (instead of /bin/sh) is
+# that the user may have multiple Perl interpreters and the one he wants to
+# use is properly located in the PATH.  The user's choice of Perl interpreter
+# may be crucial, such as when the user also has a PERL5LIB environment
+# variable and it selects modules that work with only a certain main
+# interpreter program.
+#
+# An alternative some people use is to have /usr/bin/env as the script
+# interpreter.  We don't do that because we think the existence and
+# compatibility of /bin/sh is more reliable.
+#
+# Note that we aren't concerned about efficiency because the user who needs
+# high efficiency can use directly the programs that this program invokes.
+#
+##############################################################################
+
+exec perl -w -x -S -- "$0" "$@"
+
+#!/usr/bin/perl
 use strict;
 use Getopt::Long;