diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2013-04-12 02:43:39 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2013-04-12 02:43:39 +0000 |
commit | cb3a70735e2d1532380a420803c9c21732e0a20c (patch) | |
tree | 3417534f0cdea9fedd55234abac8cb57cce06493 | |
parent | caa6d1fe1bec3de42de6ac18536bd09e4385a18c (diff) | |
download | netpbm-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
-rw-r--r-- | doc/HISTORY | 3 | ||||
-rwxr-xr-x | editor/pnmflip | 25 | ||||
-rwxr-xr-x | editor/pnmquant | 25 | ||||
-rwxr-xr-x | editor/pnmquantall | 24 | ||||
-rwxr-xr-x | editor/ppmfade | 32 | ||||
-rwxr-xr-x | editor/ppmquant | 26 | ||||
-rwxr-xr-x | editor/ppmshadow | 35 | ||||
-rwxr-xr-x | generator/ppmrainbow | 26 |
8 files changed, 184 insertions, 12 deletions
diff --git a/doc/HISTORY b/doc/HISTORY index d7c6a421..573fc721 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -6,6 +6,9 @@ CHANGE HISTORY not yet BJH Release 10.63.00 + Perl programs: make them shell programs that reinvoke themselves + as perl so we can get the Perl interpreter from the PATH. + pnmpsnr: fix bug: says types aren't the same when they are. Introduced in 10.61 (December 2012). diff --git a/editor/pnmflip b/editor/pnmflip index 44d95b45..07d4ddb9 100755 --- a/editor/pnmflip +++ b/editor/pnmflip @@ -1,5 +1,28 @@ -#!/usr/bin/perl -w +#!/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 #============================================================================ # This is a compatibility interface to Pamflip. # diff --git a/editor/pnmquant b/editor/pnmquant index ae461a3d..93d452cd 100755 --- a/editor/pnmquant +++ b/editor/pnmquant @@ -1,6 +1,29 @@ -#!/usr/bin/perl -w +#!/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 +############################################################################## # pnmquant ############################################################################## # By Bryan Henderson, San Jose CA; December 2001. diff --git a/editor/pnmquantall b/editor/pnmquantall index b7bb03d7..0890383e 100755 --- a/editor/pnmquantall +++ b/editor/pnmquantall @@ -1,3 +1,27 @@ +#!/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 ############################################################################## # pnmquantall diff --git a/editor/ppmfade b/editor/ppmfade index fbc62968..027fc793 100755 --- a/editor/ppmfade +++ b/editor/ppmfade @@ -1,5 +1,31 @@ -#!/usr/bin/perl -w -#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +#!/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 +############################################################################## +# ppmfade +############################################################################## # # This program creates a fade (a sequence of frames) between two images. # @@ -12,7 +38,7 @@ # much the same thing, but handles non-Netpbm formats too, and is # implemented in a more primitive language. # -#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +############################################################################## use strict; my $SPREAD = 1; diff --git a/editor/ppmquant b/editor/ppmquant index 08f4c187..57963982 100755 --- a/editor/ppmquant +++ b/editor/ppmquant @@ -1,4 +1,28 @@ -#!/usr/bin/perl -w +#!/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 ############################################################################## # This is nothing but a compatibility interface for Pnmquant. # An old program coded to call Ppmquant will continue working because diff --git a/editor/ppmshadow b/editor/ppmshadow index 2a32fca0..62cdf8b8 100755 --- a/editor/ppmshadow +++ b/editor/ppmshadow @@ -1,15 +1,40 @@ -#!/usr/bin/perl -w +#!/bin/sh -# P P M S H A D O W +############################################################################## +# 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 +############################################################################## +# ppmshadow +############################################################################## +# # by John Walker -- http://www.fourmilab.ch/ # version = 1.2; # --> with minor changes by Bryan Henderson to adapt to Netbpm. # See above web site for the real John Walker work, named pnmshadow. - +# # Bryan Henderson later made some major style changes (use strict, etc) and # eliminated most use of shells. See Netbpm HISTORY file. - +# # Pnmshadow is a brutal sledgehammer implemented in Perl which # adds attractive shadows to images, as often seen in titles # of World-Wide Web pages. This program does not actually @@ -20,7 +45,7 @@ # # This program is in the public domain. # -# +############################################################################## use strict; require 5.0; 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; |