#!/usr/bin/perl use strict; use warnings; open JHF, '<', 'File2' or die "Cannot open 'File2' $!"; my %vals; while ( ) { my ( $key, $val ) = split; $vals{ $key } = $val if defined $val and defined $key; } close JHF; open IHF, '<', 'File1' or die "Cannot open 'File1' $!"; print "\n\n"; while ( ) { my ( $k, $v ) = split; next unless defined $k and defined $v; print "$k $v $vals{$k}\n" if exists $vals{ $k }; }