in reply to merging content based on common columns of 2 files using grep
#!/usr/bin/perl use strict; my %hash; my $raw_file_1 = <<FILE_1; file1: TST_01 sp|123|fts TST_02 sp|3438|rvs TST_03 sp|2744|rtp TST_04 sp|0123|not_here FILE_1 my $raw_file_2 = <<FILE_2; file2: sp|123|fts checked_proved sp|3438|rvs proven_right sp|2744|rtp un_proved sp|0000|bogus bogus FILE_2 open( my $file_1, "<", \$raw_file_1 ) or die "Couldn't open \$raw_file +_1\n"; while (<$file_1>) { next if /^file/; my ($val, $key) = split; $hash{$key} = $val; } open( my $file_2, "<", \$raw_file_2 ) or die "Couldn't open \$raw_file +_2\n"; while (<$file_2>) { next if /^file/; my ($key, $val) = split; print "$hash{$key}\t$key\t$val\n" if ( defined($hash{$key}) ); }
|
|---|