foreach $value (@listA) { $countsA{$value}++; $seen{$value} = 1; } foreach $value (@listB) { $countsB{$value}++; $seen{$value} = 1; } $diff = 0; foreach $value (keys %seen) { if( not defined $listA{$value} ) { $listA{$value} = 0; } elsif( not defined $listB{$value} ) { $listB{$value} = 0; } $diff += abs($countsA{$value} - $countsB{$value}) }