use strict; use warnings; use Data::Dump::Streamer; my @arr = ([11, 22, [[]]], [333, 444, []], [6666, 7777, []]); push @{$arr[0][2][0]}, 3; Dump \@arr; @arr = ([11, 22], [333, 444], [6666, 7777]); push @{$arr[0][2][0]}, 3; Dump \@arr; #### $ARRAY1 = [ [ 11, 22, [ [ 3 ] ] ], [ 333, 444, [] ], [ 6666, 7777, [] ] ]; $ARRAY1 = [ [ 11, 22, [ [ 3 ] ] ], [ 333, 444 ], [ 6666, 7777 ] ];