#!/usr/bin/perl use strict; use warnings; open(IHF, "<", "File1"); print "\n\n"; while( ) { my %fets; my ($k, $v) = split; $fets{$k} = $v if defined ($k) and defined ($v); my @keys = sort keys %fets; my $trgt = getval(@keys); print "$k $fets{$k} $trgt\n"; } sub getval { my @k = @_; my %vals; open (JHF, "<", "File2"); while() { my ($key, $val) = split; $vals{$key} = $val if defined $val and defined $key; } for my $i (@k) { return "$vals{$i}"; } }