use strict; use Text::CSV; use Class::CSV; my $report_csv = Class::CSV->new ( filename => "final.csv", fields => [qw/VM_Name VM_Cluster vFiler_IP vFiler_Cluster MisMatch/], ); my $vm_mapping = Text::CSV->new ({ binary => 1}); my $vfiler_mapping = Text::CSV->new ({ binary => 1 }); open my $vm, "<:encoding(utf8)", "vm.csv" ; open my $vfiler, "<:encoding(utf8)", "vfiler_fd.csv"; while (my $vm_row = $vm_mapping->getline ($vm)) { while (my $vfiler_row = $vfiler_mapping->getline ($vfiler) ) { if ( $vm_row->[0] eq $vfiler_row->[0] ) $report_csv->add_line( { VM_Name => $vm_row->[0], VM_Cluster => $vm_row->[1], vFiler_IP => $vfiler_row->[1], vFiler_Cluster=> $vfiler_row->[2], MisMatch => "huhuhhuhuhu", } ); next; } next; }