use List::Util qw( shuffle ) ; my @arr = qw( a b c d e f A B C D E F ) ; print( ( map { "[$_]" } @arr ), "\n" ) ; for ( 1..5 ) { print( ( map { "[$_]" } shuffle @arr ), "\n" ) ; }