my @sorted; my @array=(0..10); @first = splice (@array, 0, int(($#array+2)/2)); @sorted=map{(shift @first, shift @array)}(0..$#array); push (@sorted, shift @first) if ++$#first;