The second example is the one that crashes Perl for me. It looks a little strange, I'll admit, because it's supposed to be inside a function, and
$foo is supposed to be passed in via
@_. Here's an idea of how it looked:
sub bar
{
my ($foo) = @_;
foreach my $foo_entry (@$foo)
{
foreach (keys %$foo_entry)
{
if (defined($foo->{$_}->{foo})
&& defined($foo->{$_}->{foo}->{bar}))
{
return $foo->{$_}->{foo}->{bar};
}
}
}
return;
}
During simplification, I accidentally put the
return inside the foreach, but it doesn't matter. The
defined call kills it right away.
This code is busted, as I forgot to change the internal references to
$foo_entry. What surprised me was that a)
strict didn't care, and b) it caused Perl to go crazy.
After some experimentation, I came up with that example as the least amount of code required to reproduce the problem. The data given is complete junk, the real data much more complex, but it too is the bare minimum required to produce the problem. The real structure does have additional levels of "oH".
Pseudo-hashes are dangerous to your health then?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.