in reply to printing the first column when both columns 2 and 3 are the same

It sounds like what you want to do is store the first column's value based on the most recent combined value of the second and third column's values. After you've read all of the input file, you want to dump out the results you've collected.

So, collect everything from the first file ..

my %data; open my $FH2, '<', '/tmp/fileread' or die "unable to open input file: $!"; while(<$FH2>) { my @cols = split(/,/); $data{join(':',@cols[1,2])} = $cols[0]; } close($FH2);
And then dump out the stuff you've collected:
open my $FH6, '>', '/tmp/tst.txt' or die "unable to open output file: $!"; foreach my $key ( sort keys %data ) { my @keys = split(/:/,$key); print $FH6 join(',',$data{$key},@keys) . "\n"; } close ( $FH6 );
Not tested .. that's just to give you an idea of how to solve it.

Alex / talexb / Toronto

Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.