in reply to Re: split, Use of uninitialized value
in thread split, Use of uninitialized value

The condition for autovivification is not meet in this case. See below demo:

use Data::Dumper; use strict; use warnings; my $a = ["abc","cba"]; if (defined($a->[2]) && $a->[2] ne '') { } print Dumper($a); if (defined($a->[2]->[3]) && $a->[2]->[3] ne '') {#this is autovivific +ation } print Dumper($a);

Here is the result from above code:

$VAR1 = [ 'abc', 'cba' ]; $VAR1 = [ 'abc', 'cba', [] #this is autovivification ];