in reply to term frequency and mutual info

I guess you want to do something like this:
# untested! open my $fh1, ... open my $fh2, ... my %pairs; while (1) { my $l1 = <$fh1>; my $l2 = <$fh2>; last unless (defined $l1 and defined $l2); my @l1 = $l1 =~ /\w+/g; my @l2 = $l2 =~ /\w+/g; for my $w1 (@l1) { for my $w2 (@l2) { $pairs{"$w1-$w2"}++; } } } my @sorted = sort { $pairs{$b} <=> $pairs{$a} } keys %pairs; for my $k (@sorted) { say "$pairs{$k} ==> $k" }