Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: Code requested for array intersection count

by dvergin (Monsignor)
on Jun 09, 2003 at 15:26 UTC ( [id://264354] : note . print w/replies, xml ) Need Help??

in reply to Code requested for array intersection count

As 3dan notes, this question has been asked and answered many times. But just for fun, here's a quick (tested) solution that takes a different approach from that of tcf22. This leaves a hash (%counts) with all the results available for later processing. (tcf22's approach could be adjusted to do that also.)
#!/usr/bin/perl -w use strict; my @array_1 = qw/A B/; my @array_2 = qw/A B C D A D B A C/; my %check_1 = map { $_ => 1 } @array_1; my %counts; map { $counts{$_}++ if $check_1{$_} } @array_2; print "$_ : $counts{$_}\n" for keys %counts;
Which results in:

    A : 3
    B : 2

"Perl is a mess and that's good because the
problem space is also a mess.
" - Larry Wall