use strict; use warnings; use Data::Dump; my @pp; push @pp, [1..25] for 1..25; dd \@pp; $pp[1][1] = 1; $pp[2][2] = 2; $pp[3][3] = 3; dd \@pp; __END__ [ [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], ] [ [1 .. 25], [1, 1, 3 .. 25], [1, 2, 2, 4 .. 25], [1, 2, 3, 3, 5 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], [1 .. 25], ]