#! perl -slw use strict; my %hash; @hash{ 'a' .. 'z' } = 'A' .. 'Z'; for( 1 .. 20 ){ my @four = map{ each %hash for 1 .. rand( keys %hash ); each %hash || each %hash } 1 .. 4; print "@four"; } __END__ P:\test>373821 o a y u v i h i j i o x o g l g k a d d i n m s i v n l c d b n j p z e b n v h q r i u y m s r h s j k d u j v y j h i w l c w y v o o z m n k p w o h u v m a