use strict; use warnings; my @array = sort {$a <=> $b} qw/ 23 45 12 4 8 7 5/; while (my $item = shift @array) { print "$item $_\n" for @array; } #### 4 5 4 7 4 8 4 12 4 23 4 45 5 7 5 8 5 12 5 23 5 45 7 8 7 12 7 23 7 45 8 12 8 23 8 45 12 23 12 45 23 45