in reply to permutations of all number in a given set

use warnings; use strict; my @aoa = ([1..3],["x".."y"],["a".."c"]); my@perms=map{my$a=$_;map{my$i=$_;map[@$a[$i,$_]],0..$i-1,$i+1..$#$a}0. +.$#$a}@aoa; use Data::Dumper; $Data::Dumper::Indent = 0; print "$_\n" for Dumper @perms; __END__ $VAR1 = [1,2]; $VAR2 = [1,3]; $VAR3 = [2,1]; $VAR4 = [2,3]; $VAR5 = [3,1]; $VAR6 = [3,2]; $VAR7 = ['x','y']; $VAR8 = ['y','x']; $VAR9 = ['a','b']; $VAR10 = ['a','c']; $VAR11 = ['b','a']; $VAR12 = ['b','c']; $VAR13 = ['c','a']; $VAR14 = ['c','b'];