#! perl -slw use strict; use Data::Dumper; use List::Util qw[ shuffle ]; use constant { X => 10, Y => 10 }; my @list = shuffle 'A' .. 'Z', (' ') x (X * Y - 25); my @a2d = map{ [ @list[ ($_*10) .. (($_+1) * 10) ] ] } 0 .. 9; $Data::Dumper::Indent = 0; print Dumper \@a2d; __END__ $VAR1 = [ [' ',' ','V',' ',' ',' ','P',' ','A',' ','R'], ['R','S',' ',' ',' ',' ',' ',' ',' ',' ','J'], ['J',' ',' ','D',' ',' ','C',' ',' ','T',' '], [' ','G','W',' ','U',' ','K',' ',' ',' ',' '], [' ',' ',' ','N',' ','L',' ',' ',' ',' ',' '], [' ','Y','E',' ',' ','B',' ',' ',' ',' ',' '], [' ',' ',' ',' ','X',' ','M',' ',' ','O',' '], [' ',' ',' ','H',' ','Z',' ',' ',' ','F',' '], [' ',' ',' ',' ',' ',' ',' ',' ',' ','Q',' '], [' ',' ',' ',' ',' ',' ',' ',' ','I',' ',' '] ];