File 1 looks ilke this:- 12345 11 67890 21 File 2 looks like this:- 12345 ABCDEFANABCDEFGHIJKLMNOPQRSTVVWXWZ 67890 ABACFHAYJAYAFANJAKALAHUSSGSJISUSSKSOWUWSLSS --------------------END---------------- #### #!/usr/bin/perl -w my %href; my $fn = "key.txt"; open(FH, "$fn") || die "Cannot open file"; while () { chomp($_); $href{$1} = $2 if $_ =~ /(\S+)\s+(\S+)/; } while (my ($key, $value) = each(%href)) { #print $key. ", ". $value."\n"; } open(FD,"'; while ( ) { chomp; next unless ( s{ \A (\S+) \s+ (?= \d ) }{}xms and exists( $href{$1} )); my $name = $1; my $position = $2; my @numbers = split /\w+/; my $one_number = $numbers[$href{$name} - 1]; #if ( $one_number >= $quality ) { print "$name\t\t$href{$name}\t$one_number\n"; #print F1 "$name\t\t$href{$name}\t$one_number\n"; # } } close FD; #close F1;