#! /usr/bin/perl use strict; use warnings; my @arr1; my @arr2; my $a; #COMPARE 2 FILES open(FIL,'FILE1.CSV') or die "$!"; #open(FIL,$file) or die "$!"; while () { $a=$_; $a =~ s/[\t;, ]*//g; push @arr1, $a if ($a ne ''); }; close(FIL); open(FIL,'FILE2.csv') or die "$!"; while () { $a=$_; $a =~ s/[\t;, ]*//g; push @arr2, $a if ($a ne ''); }; close(FIL); my %arr1hash; my %arr2hash; my @diffarr; foreach(@arr1) {$arr1hash{$_} = 1; } foreach(@arr2) {$arr2hash{$_} = 1; } foreach $a(@arr1) { if (not defined($arr2hash{$a})) { push @diffarr, $a; } } foreach $a(@arr2) { if (not defined($arr1hash{$a})) { push @diffarr, $a; } } my $dir = '/perl/test/run'; opendir(DIR, $dir) or die $!; while (my $file = readdir(DIR)) { next unless (-f "$dir/$file"); next unless ($file =~ m/\.csv$/); print "\n"; printf "Source: $file "; print "\n"; my $count=1; foreach $a(@diffarr) { print "Item "; print $count++ ; print " - "; print ($a); } } print "\n";