in reply to Doing pair-exclusivity analysis and building a matrix

Using pseudo(hash-based)-bit-vectors, this code is somewhat easier on the eyes (IMHO):
#! perl use strict; my (%name); while (<DATA>){ my( $n, $rest ) = split; $name{$n}{$_}=1 for ( split ',', $rest ); } print "\t",map ({"$_\t"} sort keys %name),"\n"; # First line for my $n1( sort keys %name){ print "$n1:\t"; for my $n2( sort keys %name){ my $count=scalar keys %{$name{$n2}}; $name{$n2}{$_} and $count-- for keys %{$name{$n1}}; print "$count\t"; } print "\n"; } __DATA__ Name1 USA,Canada,Yemen Name2 Canada,Portugal,India Name3 China,HongKong,Canada Name4 London,Amsterdam,Ireland,USA Name5 India,USA,Canada
My results seem transposed because of a different approach to counting.

             All great truths begin as blasphemies.
                   ― George Bernard Shaw, writer, Nobel laureate (1856-1950)