my $name = "britney"; my $file = "record.txt"; unless (open (FILE, $file)){ print "Error: couldn't open file $file: $!"; } else { my $nameFound = 0; foreach my $entry(){ if ( /^\Q$name\|/i ){ $nameFound = $entry; last; } } if ($nameFound){ my($name, $telephone, $email) = split(/\|/, $nameFound); # do something with $name, $telephone, $email if you want } else { print "not found\n"; } } # else