#! perl -slw use strict; use Data::Dump qw[ pp ]; my @sheets = map { [ map { [ ( 0 ) x 3 ] } 1 .. 3 ] } 1 .. 3; $sheets[0][1][2] = 5; pp \@sheets; __END__ c:\test>junk38 [ [[0, 0, 0], [0, 0, 5], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], ]