Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: Preventing autovivification while accessing value

by naikonta (Curate)
on Jan 28, 2008 at 17:04 UTC ( #664707=note: print w/ replies, xml ) Need Help??


in reply to Re: Preventing autovivification while accessing value
in thread Preventing autovivification while accessing value

Very nice! Thanks lidden :-)

I have a test script for is_hash() subroutine, the test fails (on purpose) on the latest (17th) test. As soon as I read your reply, I stopped my search on the list resulted from i /^data::/, and run install Data::Diver. I then copied my test script (cp autovivification.pl data-diver.pl), and adjusted some lines. I run both test scripts in sequence to find exactly the same result.

1..17 ok 1 - id_2 is not supposed to exist ok 2 - no autovivication for id_2 ..... not ok 17 - Since when we have a phone? Oh wait, autovivication is her +e! # Failed test 'Since when we have a phone? Oh wait, autovivication i +s here!' # at autovivification.pl line 117. # Looks like you failed 1 test of 17.
And here is the 17th test (there's no 'phones' in 'home'),
print "Hey, we have a fax machine at home!\n" # can't happen if $cds{id_1}{address}{home}{phones}{fax}; ok(!exists $cds{id_1}{address}{home}{phones}, 'Since when we have a phone? Oh wait, autovivication is here!');
So at least I know it's worth not only for me. And tye has provided a much better solution.

I got some warning lines when installing....

t/base....Pseudo-hashes are deprecated at /.../.cpan/build/Data-Diver- +1.0101-Sa9fgP/blib/lib/Data/Diver.pm line 140. Pseudo-hashes are deprecated at /.../.cpan/build/Data-Diver-1.0101-Sa9 +fgP/blib/lib/Data/Diver.pm line 131. Pseudo-hashes are deprecated at /.../.cpan/build/Data-Diver-1.0101-Sa9 +fgP/blib/lib/Data/Diver.pm line 140.

Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!


Comment on Re^2: Preventing autovivification while accessing value
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://664707]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2015-07-30 23:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (273 votes), past polls