Update: Simplified code a little (Perhaps more readable), using HOA instead of HOH.#!/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; }
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
|
|---|
| 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 |