in reply to How to merge the contents of Multiple files stored in the Hash and generate the merged file output along with Header in tabular form

Not pretty output, but I believe this code meets your spec, and is extensible (Allows unlimited number of files).
#!/usr/bin/perl use strict; use warnings; my %Consumption; my @headers; foreach my $filename (@ARGV){ Extract_info_From_File_Into_Consumption ($filename); } # Print output print "Dist\t@headers\n"; for my $dist (sort {$a <=> $b} keys %Consumption){ my $line = "$dist\t"; $line .= "\t$_" for @{$Consumption{$dist}}; print "$line\n"; } #---------------- sub Extract_info_From_File_Into_Consumption { my $filename = shift; open my $f , "<", $filename or die "Could not open $filename : $!"; my ($head1,$head2) = split /\s+/ ,<$f>,2 or die "No data in $filena +me"; chomp $head2; my $index = scalar @headers; $headers[$index] = "$head2\_$filename"; while (<$f>){ my ($dist, $consume) = m/(\d+\.?\d*)/g; $Consumption{$dist}[$index] = $consume; } close $f; }
Update: Simplified code a little (Perhaps more readable), using HOA instead of HOH.
Update2: added close($f); just to be PC.

     Theory is when you know something, but it doesn't work.
    Practice is when something works, but you don't know why it works.
    Programmers combine Theory and Practice: Nothing works and they don't know why.         -Anonymous

  • Comment on Re: How to merge the contents of Multiple files stored in the Hash and generate the merged file output along with Header in tabular form
  • Download Code

Replies are listed 'Best First'.
Re^2: How to merge the contents of Multiple files stored in the Hash and generate the merged file output along with Header in tabular form
by Anonymous Monk on Mar 09, 2010 at 12:28 UTC

    Thank you very much for the solutions