#! /usr/bin/perl # use strict; use warnings; use Math::Combinatorics; my @files; push @files, "file$_" foreach (1..36); my $c = Math::Combinatorics->new( count => 3, data => \@files); while (my @combo = $c->next_combination()) { my %combins; @combins{@combo}=(); my @leftovers = grep {!exists($combins{$_})} @files; print "Choose: @combo\tLeave: @leftovers\n";}