open(my $cities_fh => 'cities.txt') or die "ack: $!"; my %cities; chomp, $cities{lc substr $_, 0, 3} = $_ while <$cities_fh>; open(my $devices_fh => 'devices.txt') or die "ack: $!"; /^dev-([a-z]+)/ and print "$cities{$1} $_" while <$devices_fh>;