sub build_lookup { my %lookup; foreach my $str (@_) { foreach my $len (1..length($str)) { my $portion = substr($str, 0, $len); push @{$lookup{$portion}}, $str; } } return %lookup; }