InfiniteSilence has asked for the wisdom of the Perl Monks concerning the following question:
The documentation goes further to say:perldoc -f exists undef $ref; if (exists $ref->{"Some key"}) { } print $ref; # prints HASH(0x80d3d5c)
Normally I would not care that perl is creating keys in deeply nested hashes so long as I know that the value is undef, but if I grab a list of keys without thinking:This surprising autovivification in what does not at first--or even second--glance appear to be an lvalue context may be fixed in a future release.
So, is there a module out there that will control the way perl autovivifies (kind of like AutoLoader but for variables) nested structures?C:\>perl -e "undef $ref; if (exists $ref->{'key1'}->{'key2'}) {print 'I think i am okay, but...'}; print keys %{$ref}" key1
Celebrate Intellectual Diversity
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Autovivify Module?
by Abigail-II (Bishop) on Sep 08, 2003 at 22:02 UTC | |
|
Re: Autovivify Module?
by Limbic~Region (Chancellor) on Sep 08, 2003 at 21:55 UTC | |
by Abigail-II (Bishop) on Sep 08, 2003 at 22:16 UTC | |
|
What does Autovivify mean?
by bm (Hermit) on Sep 09, 2003 at 06:37 UTC | |
by Anonymous Monk on Sep 09, 2003 at 07:14 UTC | |
by PodMaster (Abbot) on Sep 09, 2003 at 07:06 UTC | |
|
Re: Autovivify Module?
by Roger (Parson) on Sep 08, 2003 at 23:17 UTC |