in reply to Autovivification in perl

As mentioned by Anonymous Monk above, has an autovivification module for those (rare) occasions when you don’t want it to occur:

#! perl use strict; use warnings; print "\nWITH autovivification:\n"; my $hashref1; printf "1. \$hashref1 %s defined\n", (defined $hashref1 ? 'IS' : 'is N +OT'); my $foo = $hashref1->{bar}; printf "2. \$hashref1 %s defined\n", (defined $hashref1 ? 'IS' : 'is N +OT'); no autovivification; print "\nWITHOUT autovivification:\n"; my $hashref2; printf "3. \$hashref2 %s defined\n", (defined $hashref2 ? 'IS' : 'is N +OT'); my $baz = $hashref2->{bar}; printf "4. \$hashref2 %s defined\n", (defined $hashref2 ? 'IS' : 'is N +OT');

Output:

0:43 >perl 830_SoPW.pl WITH autovivification: 1. $hashref1 is NOT defined 2. $hashref1 IS defined WITHOUT autovivification: 3. $hashref2 is NOT defined 4. $hashref2 is NOT defined 0:43 >

This may (occasionally) be a handy tool to have in the toolbox.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,