I'm working on an older Debian 6 machine. It had an old version of Perl and it was causing some self tests to fail with "Test::More version 0.96 required". I downloaded the latest Perl 5.22.1, built it from sources and placed it at
I have a script that use Perl, and its preamble is:
However, when I execute the script, it is using the old Perl instead of the new Perl. This is kind of expected because
/usr/bin/env does not know about Perl (or I don't believe it does).
How do I tell
env that Perl is the one in
/opt/perl/, and not
/usr/bin/? If possible, I'd like it to be a machine configuration (i.e., applies to everyone), and not a user configuration (i.e., applies to just me).
Here is the manpage for
env(1). There's not much to it, and I don't believe it discusses registering a new version of a program for an interpreter. There are no man pages for
env(7) (miscellaneous) or
ENV(1) User Commands ENV(1) NAME env - run a program in a modified environment SYNOPSIS env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] DESCRIPTION Set each NAME to VALUE in the environment and run COMMAND. -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment --help display this help and exit --version output version information and exit A mere - implies -i. If no COMMAND, print the resulting environment. AUTHOR Written by Richard Mlynarik and David MacKenzie. ...