#!/usr/bin/perl use strict; my $file_1 = <) { chomp; my @cols = split ","; $file_1{"$cols[0] $cols[1]"} = $_; } close( $fh ); while () { chomp; my @cols = split ","; my $temp_name = "$cols[1] $cols[2]"; if (grep /$temp_name/, (keys %file_1)) { my $result = "$cols[0]," . join ",", $file_1{$temp_name}; print "$result\n"; } } __DATA__ abc,Alan,Bloggs,06/11/2009,11/30/2011,morefields,... cde,David,Smith,06/08/2009,09/30/2012,morefields,... abc,Rosario,Anotherone,06/05/2009,11/30/2011,morefields,... acd,Angela,Madeupname,06/11/2009,07/31/2010,morefields,... cde,Ugochukwu,Smith,06/01/2009,10/31/2012,morefields,... tla,Julie,Schmidt,05/01/2009,09/30/2012,morefields,... tl,Waseem,Alder,06/11/2009,11/30/2011,morefields,...