08-17-2009
The hash %ENV contains your current environment.
You can step through each one by doing:
#!/usr/bin/perl
foreach $key (sort keys %ENV) {
print "$key: $ENV{$key} \n";
}
Or access a single element by doing something like:
print "$ENV{'USER'}\n";
HTH
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi everyone,
I was told, i my job, to do a script that creates the backup of all the files that are important to us.
So i created the script, put it in the crontab and it works great.
Now what i want is to write to a file what directories have being copied with date and time.
How can i... (3 Replies)
Discussion started by: jorge.ferreira
3 Replies
2. UNIX for Advanced & Expert Users
Hi,
I recently encountered the notion of a 'system variable' in unix
which is displayable only via
echo $(<var>) rather than
echo $<var>
They are NOT environment variables since they can't be
set by the user - they live in a different name space,
but are 'in place' when the user... (2 Replies)
Discussion started by: Ken Quirici
2 Replies
3. UNIX for Dummies Questions & Answers
Hi,
I try to run a script on remote systems with ssh
it should execute a command, read values from stdout, use it as input for a loop
and works with this variable on remote system
but the variable isn't working, I guess because export, echo , or the loop itself are shell builtins and not... (2 Replies)
Discussion started by: funksen
2 Replies
4. Shell Programming and Scripting
I am new in Perl.
I am working in simple script and the varibles are working well outside the exec or system command.
but they don't work as parameters to exec or system command.
The script is attached.
please help. (8 Replies)
Discussion started by: ahmed_zaher
8 Replies
5. UNIX for Dummies Questions & Answers
Is there something called system variables in Unix?
Can someone list a few of them?
Does it include variables like HOME, TERM, PWD etc.? (1 Reply)
Discussion started by: prasanna1157
1 Replies
6. Shell Programming and Scripting
I don't fully understand variables in perl.
If we have a variable defined like this "my $number = 1" then this is called a lexical variable? But if you define this at the top of a script then why isn't it a global variable because it would be available throughout the file?
Sorry if this is... (1 Reply)
Discussion started by: P3rl
1 Replies
7. UNIX for Dummies Questions & Answers
this method is not working.I am having a problem to use variables in system command. i cannot use the variables in system command.
this how i was did
system("whereis command");
this method works very fine. but, i want use the commands as variable.
that means i want only pass the variables.... (6 Replies)
Discussion started by: dhanda2601
6 Replies
8. Shell Programming and Scripting
Hi,
I need some help to setup some environmental variables.
for example...Get A -> userdefined/user input
B -> a number.
c -> system variable...for example $GETCONF PAGE_SIZE
E = do some math using bc
display a message "The value is E"
setup the system/kernel paramter sysctl -p... (3 Replies)
Discussion started by: saravanapandi
3 Replies
9. UNIX for Dummies Questions & Answers
Hi Chaps,
Im after some advise with a script i've written however doesnt appear to work how I would like.
Basically I have a perl script which sucessfully pulls an expect script to login to multiple nodes and obtain some output from the nodes (total number of nat ports that are in use... (0 Replies)
Discussion started by: mutley2202
0 Replies
10. Programming
I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open())
I would like to run another PERL-script from first one, not... (1 Reply)
Discussion started by: alex_5161
1 Replies
Env(3) User Contributed Perl Documentation Env(3)
NAME
Env - perl module that imports environment variables as scalars or arrays
SYNOPSIS
use Env;
use Env qw(PATH HOME TERM);
use Env qw($SHELL @LD_LIBRARY_PATH);
DESCRIPTION
Perl maintains environment variables in a special hash named %ENV. For when this access method is inconvenient, the Perl module "Env"
allows environment variables to be treated as scalar or array variables.
The "Env::import()" function ties environment variables with suitable names to global Perl variables with the same names. By default it
ties all existing environment variables ("keys %ENV") to scalars. If the "import" function receives arguments, it takes them to be a list
of variables to tie; it's okay if they don't yet exist. The scalar type prefix '$' is inferred for any element of this list not prefixed by
'$' or '@'. Arrays are implemented in terms of "split" and "join", using $Config::Config{path_sep} as the delimiter.
After an environment variable is tied, merely use it like a normal variable. You may access its value
@path = split(/:/, $PATH);
print join("
", @LD_LIBRARY_PATH), "
";
or modify it
$PATH .= ":.";
push @LD_LIBRARY_PATH, $dir;
however you'd like. Bear in mind, however, that each access to a tied array variable requires splitting the environment variable's string
anew.
The code:
use Env qw(@PATH);
push @PATH, '.';
is equivalent to:
use Env qw(PATH);
$PATH .= ":.";
except that if $ENV{PATH} started out empty, the second approach leaves it with the (odd) value "":."", but the first approach leaves it
with ""."".
To remove a tied environment variable from the environment, assign it the undefined value
undef $PATH;
undef @LD_LIBRARY_PATH;
LIMITATIONS
On VMS systems, arrays tied to environment variables are read-only. Attempting to change anything will cause a warning.
AUTHOR
Chip Salzenberg <chip@fin.uucp> and Gregor N. Purdy <gregor@focusresearch.com>
perl v5.16.3 2013-03-02 Env(3)