in reply to pattern match a name from stdin

Try it this way:

use strict; use warnings; print "Name:\n"; my $name = <STDIN>; chomp $name; open( FH, "names.txt" ) or die $!; while( <FH> ) { chomp; if( m/(\d+)\s*\|\s*\Q$name\E/ ) { print "$1\n"; } }

Dave