[EMAIL PROTECTED] wrote:
I am currently trying to write a Perl program in a Solaris 9 environment I am trying to process a list of variables with UNIX environment variables embedded in them of the form $dir_to_check = "$ENV_VAR1/some_dir/$ENV_VAR2/another_dir"; and I am trying to find if another_dir exists, so I have a line of code that tries to do something like this: if (-e $dir_to_check) { do some stuff } which is not working even though the directory that I am checking for does indeed exist. Is there something simple that I am just missing, or is there a problem with Perl not evaluating the environment variables embedded in the path that I am check?
First of all, I think you need to add use strict; use warnings; to the top of your program and declare all Perl variables with 'my'. This will help you enormously to get your program working. Also, try printing the value of $dir_to_check to see if it contains the string you think it does. Is this your exact code? Because $ENV_VAR1 etc are simply Perl variables and aren't related to the values of the environment variables. Fortunately for your programming convenience there is a built-in hash called %ENV which does contain values from the enviroment. Write something like my $dir_to_check = "$ENV{varname1}/some_dir/$ENV{varname2}/another_dir"; and you should get the result you expect. HTH, Rob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/