% perl -E '@a = 1 .. 4; for my $x (@a) { %set = map { $_ => 1 } @a; delete $set{$x}; say "$x, $_" for keys %set; }' 1, 4 1, 3 1, 2 2, 4 2, 1 2, 3 3, 4 3, 1 3, 2 4, 1 4, 3 4, 2 %