#!/usr/bin/env perl use warnings; use strict; use feature qw{ say }; use List::PowerSet qw{ powerset }; my %groups; while () { my @numbers = split; for my $ps (@{ powerset(@numbers) }) { next if @$ps < 2; $groups{"@$ps"}++; } } for my $group (keys %groups) { next if $groups{$group} == 1; say "$group repeated $groups{$group} times"; } __DATA__ 1 2 5 9 1 2 5 10 4 5 10 12 5 9 10 11