# cat vm.csv
vm_name,vm_cluster
vm1,fd1
vm2,fd2
vm3,fd3
vm4,fd4
####
# cat vfiler_fd.csv
vm_name,vFiler_IP,vFiler_cluster
vm3,1.1.1.3,fd2
vm4,1.1.1.4,fd1
vm1,1.1.1.1,fd4
vm2,1.1.1.2,fd3
####
vm_name,vm_cluster,vFiler_IP,vFiler_cluster
vm1,fd1,1.1.1.1,fd4
vm2,fd2,1.1.1.2,fd3
.
.
....etc.
####
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;
}