in reply to Environment Variable
It sounds like you want to compare two hashes, warning on any differences and updating so that values match the second hash? If I am right you might try something like this (pseudocode!):
## Hash 1 : %ENV ## Hash 2 : Desired my %desired = ( A => 1, B => 2 ...); ## loop through Hash 2, checking against Hash 1 for my $key ( keys %desired){ if (exists ($ENV{$key})){ warn ">$key< exists in both hashes\n"; if ( $desired{$key} eq $ENV{$key} ){ ## simple text compare warn ">$key< has the same value in both hashes\n"; } else { warn ">$key< has different values:\t ENV : $ENV{$key}\n\tD +ESIRED : $desired{$key}\n"; ## updating $ENV{$key} = $desired{$key}; } } else { warn ">$key< Only exists in DESIRED\n"; } }
Also - multi dimensional hashes are coded as %hash = (key1 => {key2 => value},); or $hash->{key1}->{key2} = 'value'; see perlref. HTH.
|
|---|