[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]
Re: exists $foo[7] and delete $foo[7]
>IIRC, the current documentation says it will be fixed in a future
>release.
My copy reads:
This surprising autovivification in what does not at first--or
even second--glance appear to be an lvalue context may be fixed
in a future release.
This is *not* related to exists(). You have to make all uses of
the pointer arrow dereference, implicit or explicit, stop autovivifying.
$x[$i][$j] += $y[$i][$j] if $z[$i][$j] < 10;
That will autovivify three things. Your task, if you choose to
accept it, it to make it autovivify but two of them. But there are
a lot of other border situations to consider. Here's one:
$x[$i][$j] =~ s/foo/bar/;
or
$x[$i][$j] =~ s/^//; # how no-op-py is this *really*?
And then there's this fun one:
somefunc( $x[$i][$j] );
--tom
- Follow-Ups from:
-
Larry Wall <larry@wall.org>
[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]