#!/usr/bin/perl # perl.ID.match.pl use strict; use warnings; open my $KEY, '<', 'chr1.coverage.txt' or die "error reading 'chr1.coverage.txt' because: $!"; my $pattern = join '|', map /^([^\t]+)/ ? "\Q$1\E" : (), <$KEY>; close $KEY; open my $FULL, '<', 'chr1.txt' or die "error reading 'chr1.txt' because: $!"; open my $OUT, '>', 'chr1.match.txt' or die "error reading 'chr1.match.txt' because: $!"; while ( <$FULL> ) { print $OUT $_ if /^(?:$pattern)\t/; } close $FULL; close $OUT; exit 0;