# Used to unpack data read from .dat files (excluding modify.dat) sub unpackDatArray { my @dat = @_; # Unpack the data # (See Camel 3rd ed pgs 278 - 279) my ( $i, $var, $value); for $i ( 0 .. $#dat ) { for $var ( keys %{ $dat[$i] } ) { $value = $dat[$i]{$var}; if ( $var && $value ) { debug("\$var = $var \$value = $value\n", 0); # set our workspace $_ = $value; # If the values have a $ in them we must get # the environmental Var value and substitue it # into our value. /(\\\$)(\w+)(.*)/ ; if ( $2 ) { $value = getEnvValue($value); } # Set the Environment $_ = $value; # eliminate surrounding quoutes from string s/^\"//g; s/$\"//g; $value = "$_"; my %newHashValue; $newHashValue{$var} = $value; setEnv(%newHashValue); } } } }