I have a bunch of csv file in a simple format say 'Name,Country,Currency'. I need to read all of them and print only the unique union. If they show up in few files they are identical. Tried to use Hash::Merge but seems to be working only for two. I assume I have to reinitialize it in the loop while opening these files for reading but not sure how. In the end I want a file of the same nature but containing all of them without repetition. Many thanks.
Input looks like:
EDL,Finland,Euro
Output want the same format .I made a loop reading the files ,and at any stage I have two hashes %A and %B with $name as keys (after splitting).
$A{$name}=$coun and $B{$name}=$curr
I also have two %merged hashes defined as
$merged1 = Hash::Merge->new('LEFT_PRECEDENT');
my %merged1 = %{ $merged1->merge( \%merged1, \%A ) };
The error I get is complaining about unknown function "merge". Must be a simple thing but cannot see it.
Assuming the lines considered duplicates are identical in all fields, and the data is uniform you can get away with something simple like
Which is a simple dedupe routine (deduping by hash key), then redirect output with the shell.