Using grep on undefined array
Adrian Lai
perl at loathe.me.uk
Wed Aug 14 14:30:47 BST 2013
On 14 August 2013 13:12, Abigail <abigail at abigail.be> wrote:
> My guess: it's an unintentional side-effect of $_ being an alias in the
> first argument of grep.
>
That does appear to be the case, given as other functions don't autovivify.
e.g. perl -E '$y = scalar @$x; say "$x" if defined $x'
Interestingly though, 'keys' does: perl -E '@y = keys %$x; say "$x" if
defined $x'
I'm guessing that perl attempts to coerce a hash (and thus autovivify)
before it performs the keys action.
Adrian.
More information about the london.pm
mailing list