niXforums Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   PreferencesPreferences   Log in to check your private messagesLog in to check your private messages   Log inLog in 
·  nixdoc.net ·  man pages ·  Linux HOWTOs ·  FreeBSD Tips ·  Forums
navigation Forum index » Programming » Perl
FAQ 4.67 Why does passing a subroutine an undefined element in a hash create it?
Post new topic   Reply to topic Page 1 of 1 [1 Post] View previous topic :: View next topic
Author Message
PerlFAQ Server
*nix forums Guru


Joined: 09 Apr 2005
Posts: 1008

PostPosted: Sun Jul 02, 2006 7:03 am    Post subject: FAQ 4.67 Why does passing a subroutine an undefined element in a hash create it? Reply with quote

This is an excerpt from the latest version perlfaq4.pod, which
comes with the standard Perl distribution. These postings aim to
reduce the number of repeated questions as well as allow the community
to review and update the answers. The latest version of the complete
perlfaq is at http://faq.perl.org .

--------------------------------------------------------------------

4.67: Why does passing a subroutine an undefined element in a hash create it?

If you say something like:

somefunc($hash{"nonesuch key here"});

Then that element "autovivifies"; that is, it springs into existence
whether you store something there or not. That's because functions get
scalars passed in by reference. If somefunc() modifies $_[0], it has to
be ready to write it back into the caller's version.

This has been fixed as of Perl5.004.

Normally, merely accessing a key's value for a nonexistent key does
*not* cause that key to be forever there. This is different than awk's
behavior.



--------------------------------------------------------------------

The perlfaq-workers, a group of volunteers, maintain the perlfaq. They
are not necessarily experts in every domain where Perl might show up,
so please include as much information as possible and relevant in any
corrections. The perlfaq-workers also don't have access to every
operating system or platform, so please include relevant details for
corrections to examples that do not work on particular platforms.
Working code is greatly appreciated.

If you'd like to help maintain the perlfaq, see the details in
perlfaq.pod.

--
Posted via a free Usenet account from http://www.teranews.com
Back to top
Google

Back to top
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [1 Post] View previous topic :: View next topic
The time now is Tue Dec 02, 2008 3:44 pm | All times are GMT
navigation Forum index » Programming » Perl
Jump to:  

Similar Topics
Topic Author Forum Replies Last Post
No new posts Shortening URLs passing through a squid hierarchy Irvine, Doug - Resources Squid 0 Fri Jul 21, 2006 10:15 am
No new posts subroutine weberw@adelphia.net Perl 6 Thu Jul 20, 2006 9:36 pm
No new posts Create index hanging Claire McLister PostgreSQL 7 Thu Jul 20, 2006 8:11 pm
No new posts invalid hash entry in internal DNS code causes assertion ... Bertold Kolics Squid 0 Thu Jul 20, 2006 7:56 pm
No new posts Storing and passing secure passwords to MS Exchange scoomey PHP 0 Thu Jul 20, 2006 2:30 pm

Mortgages | Mortgages | Mortgage Calculator | Repair Bad Credit | Advertising
Copyright © 2004-2005 DeniX Solutions SRL
 
Other DeniX Solutions sites: Unix/Linux blog |  electronics forum |  medicine forum |  science forum | 
Privacy Policy


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1684s ][ Queries: 16 (0.0974s) ][ GZIP on - Debug on ]