use Data::Dumper; my @m; my $c; $c = 3; push(@{$m[$c]}, [ 'foo' ]); $c = 2; push(@{$m[$c]}, [ 'bar' ]); print Dumper(\@m), "\n"; for (0..3) { print "length of m[$_] = ", scalar(@{$m[$_]}), "\n"; }