Perl error with $ENV variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl error with $ENV variable
# 8  
Old 03-04-2012
It will not do that when you run it by ./programname as you did above. BASH is not an HTTP user agent. You'll have to export the variables yourself.
# 9  
Old 03-04-2012
Quote:
Originally Posted by Corona688
It will not do that when you run it by ./programname as you did above. BASH is not an HTTP user agent. You'll have to export the variables yourself.
Sorry Corona for this but u cannot understand, bash variable is different thing
that access by this perl module

use Env;

this is cgi variable which is stored in %ENV hash variable through which we can access $ENV variable

u can see the second script it is working script .

There is way to access $ENV variable by set %ENV hash globally

but i do not know how

---------- Post updated at 02:32 PM ---------- Previous update was at 01:30 PM ----------

Smilie Finally the script has created successfully

Thanks for your help my friends , especialy corona sorry for above words

Working CODE ------

Code:
#!/usr/bin/perl
#Author Ravinder kumar
use warnings;
print "Content-type: text/html\n\n";

# Set $ENV variable here , to set another $ENV variable use different
# foreach loop, otherwise it will break up the script

foreach(sort keys %ENV)
{
$client = $ENV{'HTTP_USER_AGENT'};
}

# Variables

$nongraphic = 'Lynx|CERN-Linemode|ELinks';
$text = "text.html";
$graphics = "graphics.html";

# Support Checking

if ($client =~ /$nongraphic/)
{
$htmldoc = $text;
}
else
{
$htmldoc = $graphics;
}
$path = "/var/www/cgi-bin";
$htmldoc = join ("/",$path,$htmldoc);

# Result

if(open(HTML,"<",$htmldoc))
{
while (<HTML>)
{
print ;
}
close (HTML);
}
else
{
print "There is some problem\n"
}
exit (0);

#END

Moderator's Comments:
Mod Comment Please use code tags and indent code. Thanks.
# 10  
Old 03-05-2012
Quote:
Originally Posted by rink
Sorry Corona for this but u cannot understand, bash variable is different thing
that access by this perl module
There is nothing magical or CGI-only about the $ENV variable. They are just environment variables. BASH can also set as I illustrated above, which is necessary when you wish to run it like ./programname as you did above.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Treat value of variable as env variable

Hi All, I have a requirement where I have a config file, which contains 2 coulmn.values of first column are environmnet variable, whose value is defined in an environment file. In my script I need to read the config file, and get the value of the config file variable from env file. I... (2 Replies)
Discussion started by: alok2082
2 Replies

2. Web Development

Deny from env=env-variable Does not work

(Above from Apache docs). On my system, using: SetEnvIf User-Agent Mozilla IsBad=1 Order allow,deny Allow from all Deny from env=IsBad ...I see that environment variable is set (using phpinfo()) but the page is still served. No errors in the Apache logs. (1 Reply)
Discussion started by: gnurob
1 Replies

3. Shell Programming and Scripting

Perl Csh - setenv ENV change environment variable

I have 3 programs, 1 in perl, 2 in csh: call them perl1, csh1 and run.ol I need perl1 to set csh1 variable NOLOG_qsub = "" I need perl1 to run, run.ol run.ol takes the executable and input and outputs to output run.ol#!/bin/csh -f # run.ol executable input output perl1 should... (1 Reply)
Discussion started by: austinj
1 Replies

4. Solaris

Env variable in solaris

Hi, Am installing SAP on Solaris 10. How to set env variables permanently? Reg (0 Replies)
Discussion started by: daggupati453
0 Replies

5. Shell Programming and Scripting

Env variable

Hello, I want to cange env variable on SunOS. I tried: export GONGA=$GONGA:/users/BANK1/basic/queues/SARON_SPACE1 it changed it only localy for my session. when i opened a new session (telnet etc') the old value exist. How can I change it to effact all sessions. Thanks. (2 Replies)
Discussion started by: LiorAmitai
2 Replies

6. Shell Programming and Scripting

get env variable from last script

I have 2 scripts t2.sh calls t1.sh. I need to get the vaule of a env variable from t1.sh /tmp/test$ cat t1.sh #!/bin/sh INSTANCE="font/fc-cache" export INSTANCE svcadm disable ${INSTANCE} /tmp/test$ cat t2.sh #!/bin/sh . /tmp/test/t1.sh echo ${INSTANCE} The above works... (9 Replies)
Discussion started by: honglus
9 Replies

7. Shell Programming and Scripting

Doubt on ENV variable

Question 1: If I set ENV=$HOME/myenvprofile.ksh, will my script get executed when ever I login to my with KSH. My doubt is we used to put this in .profile of our home directory. SO when ever I login will it executed? QUestion 2: If I set ENV=`echo "hi"` or 'echo "hi" ', what would be the output.... (0 Replies)
Discussion started by: ramkrix
0 Replies

8. UNIX for Dummies Questions & Answers

Env Variable

Hi, I have a doubt on Environment variable. I want to know where and when the envirnment variables are defined? Thanks & Regards, Siba (1 Reply)
Discussion started by: siba.s.nayak
1 Replies

9. UNIX for Dummies Questions & Answers

PWD env variable

Could you please tell me, which process / file is responsible for the setting of PWD env variable in Solaris Thanks (1 Reply)
Discussion started by: chaandana
1 Replies

10. Shell Programming and Scripting

bash env variable containing @

I want to set a bash env variable which has @ in its name, for example, @YOGESH@ may i know how do i do this? (4 Replies)
Discussion started by: Yogesh Sawant
4 Replies
Login or Register to Ask a Question