in reply to re-using a hash reference (was: Mar)
If you check for a defined key named 'bob' in $hash2, you will get a false value - however, if you check for a key named 'bob' that exists in $hash2, you will get a true value. So if you can get by with keys that have no values then don't bother with an if expression. If you can't, then do what vladb suggests (with Juerd's modification, of course).$hash2->{'bob'} = $hash1->{'a'}->{'b'}->{'c'};
Keep in mind that even checking for the presence of a hash key that does not exist will auto-vivify it into existence. Run the following code to see an example:
use strict; use Data::Dumper; my ($hash1,$hash2); $hash2->{'bob'} = $hash1->{'a'}->{'b'}->{'c'}; print Dumper $hash1, $hash2;
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
|
---|
Replies are listed 'Best First'. | |
---|---|
The Two Auto-Vivifies
by Util (Priest) on Jun 08, 2002 at 20:26 UTC |