open my $iplist_fh, '<', 'iplist.txt' or die "Can't read iplist.txt: $!\n"; my %text_for; while ( <$iplist> ) { chomp; if ( m{ \A # line start ( \d{1,3} (?: \. \d{1,3} ){3} ) # IP address \s+ \| \s+ # separator ( .* ) # text \z # line end }xms ) { $text_for{$1} = $2; } } close $iplist_fh or die "Can't close??: $!\n"; #### my @ips_of_interest = qw( 127.0.0.1 10.0.1.51 ); foreach my $ip ( @ips_of_interest ) { print "IP is $ip\n"; print "Text is $text_for{$ip}\n"; }