##
my @match;
{
open my $fh, '<', $file or die "$!";
local $_;
my $rx = qr/^$ARGV[0]\|/
m/$rx/ && push @match, $_ while <$fh>;
}
####
sub grep_file {
my ($rx, $file) = @_;
my @match;
local $_;
open my $fh, '<', $file or die "$!";
my $rx = qr/^$rx\|/
m/$rx/ && push @match, $_ while <$fh>;
@match;
};
my @match = grep_file($ARGV[0], $file);