#!/usr/bin/perl -wT use strict; my @a = 1..5; my $l = 3; local $" = ','; my @combos = grep!$;{"@$_"}++,map[sortsplit','], grep!/([^,]+).*,\1,/,glob"{@a},"x$l; print "@$_\n" for @combos; __END__ 1,2,3 1,2,4 1,2,5 1,3,4 1,3,5 1,4,5 2,3,4 2,3,5 2,4,5 3,4,5