Hacker News new | ask | show | jobs
by seeken 4488 days ago
That will not always pass.

if (exists $foo->{bar}){ .. will not run .. }

if ($foo->{bar}) {...}

if (exists $foo->{bar}){ .. will run .. }

2 comments

That doesn't do any autovivification. You meant (note the referencing down a deeper level than the exists test):

if (exists $foo->{bar}){ .. will not run .. } if ($foo->{bar}->{baz}) {...} if (exists $foo->{bar}){ .. will run .. }

Can't believe I've had that wrong for so long. Must have misinterpreted it right when I learned perl and have always been careful about it.
I see, thank you.

I am certainly a perl novice.