in reply to Re^5: Access system ENV variables from within CGI Script
in thread Access system ENV variables from within CGI Script
The only things I have changed from Tillys example is the $shell, since the value it was coming up with was /bin/ksh and not /usr/bin/ksh (since which ksh returns /usr/bin/ksh). And the path to Perl on the machine /opt/appenv/perl/bin/perl. I am starting to follow your comments about an instance of /usr/bin/ksh calling echo env, but I am curious as to why we are only getting few results via the above method. Any advice on how to begin some debugging would help lots. TIA#!/opt/appenv/perl/bin/perl use strict; use warnings; use CGI; use Data::Dumper; my $q = new CGI; print $q->header(); my %ENV2; %ENV2 = (%ENV2, get_login_env()); print Dumper(\%ENV2); sub get_login_env { local %ENV; my $shell= '/usr/bin/ksh'; #shift || (getpwuid($<))[8]; my $env = `echo env | /opt/appenv/perl/bin/perl -e 'exec {"$shell"} +-sh'`; if (wantarray) { my @pieces = ($env =~ m/^(.*?)=((?:[^\n\\]|\\.|\\\n)*)/gm); s/\\(.)/$1/g foreach @pieces; return @pieces; } else { return $env; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^7: Access system ENV variables from within CGI Script
by Corion (Patriarch) on Oct 12, 2007 at 13:15 UTC |