08-27-2013
Quote:
Originally Posted by
madispuk
If my script calls perl system() from the web interface, and apache is the user who runs it, it doesn't see these PATH variable. Does it have it's own ENV variables? Can you tell me how I can change apache ENV variables?
Every process that runs has its own environment variables. Your perl script can alter its own environment variables via the ENV hash, i.e. $ENV{"PATH"}
This User Gave Thanks to Corona688 For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Can perl execute a system command similar to the C function System()?
Thanks.
Gregg (1 Reply)
Discussion started by: gdboling
1 Replies
2. Shell Programming and Scripting
I have a question regarding running perl in the current process.
I shall demonstrate with an example.
Look at this.
sh-2.05b$ pwd
/tmp
sh-2.05b$ cat test.sh
#! /bin/sh
cd /etc
sh-2.05b$ ./test.sh
sh-2.05b$ pwd
/tmp
sh-2.05b$ . ./test.sh
sh-2.05b$ pwd
/etc
sh-2.05b$
So... (10 Replies)
Discussion started by: vino
10 Replies
3. Shell Programming and Scripting
I honestly tried searching for this in this forum and in google. Maybe I found the answer but didn't even realized it.
I would like to run shell script thats on my machine that collects the hostname and IP address from the remote system and sends the output to my machine.
I'm not sure if need... (2 Replies)
Discussion started by: elbombillo
2 Replies
4. Shell Programming and Scripting
Hi guys,
got a problem with a perl cgi script over here. I need it to run a system command to get the status of a process. Unfortunately the process is owned by a specific user and only this user can get its status. So i tried running the command from the perl cgi with "su", but then i get the... (12 Replies)
Discussion started by: polki
12 Replies
5. Shell Programming and Scripting
Hi,
I have more than 1 files in the directory. In bash, I can use
cd /work
for x in `ls`
do
:
:
done
to run for each file in the directory.
How about in perl script?
filepath="ABC1"
open(FILE, $filepath) or die "$filepath cannot be opened.";
while(<FILE>) {
: (1 Reply)
Discussion started by: natalie23
1 Replies
6. Shell Programming and Scripting
I what to find a system date in a shell script and search for it in a file in specific record.
If the record (ENDC) has the same date I what to execute another shell script.
Here is example of the file:
Can someone please help me with this ? (3 Replies)
Discussion started by: Lenora2009
3 Replies
7. Shell Programming and Scripting
I have a local linux machine in which the files are dumped by a remote ubuntu server. If the process in remote server has any problem then empty files are created in local machine. Is there any way using perl script to check if the empty files are being created and delete them and then run a shell... (2 Replies)
Discussion started by: hussa1n
2 Replies
8. Shell Programming and Scripting
I want to execute my shell script on remote machine using SSH in perl script.
Please help me with syntax. (2 Replies)
Discussion started by: james1988
2 Replies
9. UNIX for Dummies Questions & Answers
How to find how many parameters are required to run a Perl script? (1 Reply)
Discussion started by: Lakshman_Gupta
1 Replies
10. Shell Programming and Scripting
Linux System having all Perl, Python, PHP (and Ruby) installed
From a Shell script, can call a Perl, Python, PHP (or Ruby ?) file
eg
eg
a Shell script run in a case statement call to run a php file, also Perl or/and Python file???
Like
#!/usr/bin/bash
....
....
case $INPUT_STRING... (1 Reply)
Discussion started by: hoyanet
1 Replies
Env(3pm) Perl Programmers Reference Guide Env(3pm)
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.12.1 2010-04-26 Env(3pm)