The Environment Variables
When you’re starting another process (with any of the methods discussed here), you may need to set up its environment in one way or another. You could start the process with a certain working directory, which it inherits from your process. Another common configuration detail is the environment variables.
One of the best-known environment variables is PATH
. (If you’ve never heard of it, you probably haven’t used a system that has environment variables.) On Unix and similar systems, PATH
is a colon-separated list of directories that may hold programs. When you type a command such as rm fred
, the system will look for the rm
command in that list of directories in order. Perl (or your system) will use PATH
whenever it needs to find the program to run. If the program runs other programs, those may also be found along the PATH
. (If you give a complete name for a command, such as /bin/echo, there’ll be no need to search PATH
. But that’s less convenient.)
In Perl, the environment variables are available via the special %ENV
hash, and each key in this hash represents one environment variable. At the start of your program’s execution, %ENV
holds values it has inherited from its parent process (generally the shell). Modifying this hash changes the environment variables, which will be inherited by new processes and possibly used by Perl as well. For example, suppose you wished to run the system’s make
utility (which typically runs other programs), and you want to use ...
Get Learning Perl, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.