@result = map scalar reverse, glob("{1,2,3,4,5,6,7}{A,B,C,D,E,F,G}"); # CheeseLord @result=map{$a=$_;map$a.$_,1..7}"A".."G"; # runrig @result=map$_.1..$_.7,"A".."G"; # tilly # which translates, in your case, into @result=map$_.$array1[0]..$_.$array1[$#array1],@array;