in reply to Getting the intersection of n collections.

this also works with duplicates
my $sets = [ [1,2,3,3,3,3,4,5,6,7,8,9,10], [1,1,1,2,6,7], [3,4,5,5,5,5,6,6,6,6,7,8,9], ]; my %hash = map { $_, 1 } @{$sets->[0]}; for(my $i=1; $i<scalar(@{$sets});$i++) { %hash = map { $_, 1 } grep {%hash->{$_}} @{$sets->[$i]}; } return (keys(%hash));

Replies are listed 'Best First'.
Re^2: Getting the intersection of n collections.
by johngg (Canon) on Oct 11, 2006 at 13:58 UTC
    I think you may have a typo in your solution. The grep {%hash->{$_}} should perhaps be grep {$hash{$_}}.

    Nice solution, though.

    Cheers,

    JohnGG