File 1 Looks like this:-
DAVID 31
DAVID 29
DAVID 41
File 2 looks like this:-
>DAVID
40 40 40 40 40 40 40 40 40 33 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
>DAVID
40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 66 40 40 6 40 40 40 40 40 40 40 40 40 40 40 29 40 40 40 6 40
>DAVID
40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 99 40 40 40 40 40 40 4 40 40
####
RESULT FILE:-
DAVID 31 40
DAVID 29 40 # This line is not printed bcoz hash can take only single key
DAVID 41 40 # This line is not printed bcoz hash can take only single key
####
#!/usr/bin/perl -w
use strict;
my %href;
my $fn = ;
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 @numbers = split /\D+/;
my $one_number = $numbers[$href{$name} - 1];
if ( $one_number >= 20 ) {
print "$name\t\t$href{$name}\t$one_number\n";
}
}
close FD;