in reply to Would Perl be a good choice for this?

Problems are generally language agnostic, aside from being anti-English (or any other human language) Getting the intent refined down to an algorithm is the hard part.

Do you need to identify subgroups, or filter items into known subgroups? Either way, I'd suggest you keep those processes separate.

Also, how fuzzy are these groups? You said the examples are all from the same greater subgroup, but some have all zeros and others have all ones.

Are the groups defined by simple sets of must-have/can't-have/don't care, or are there more complex conditions where the relationship between two Items determines the group membership (eg: Item1 XOR Item2)?