#!c:/perl/bin/perl -wT use strict; my %Data; open (INFILE,"c:/playgnd/sql_result_cf.txt") || die("Could not open file!"); my $header = ; while( ) { chomp; my %F; @F{qw(msc_name chunum date count_per_date)} = split /\s*,\s*/; $Data{$F{date}} = { } unless exists $Data{$F{msc_name}}; $Data{$F{date}}->{$F{msc_name}} = [('')x5] unless ref( $Data{$F{date}}->{$F{msc_name}}); $Data{$F{date}}->{$F{msc_name}}[$F{hour}] = $F{count_per_hour}; } foreach my $date (keys %Data) { foreach my $msc_name (keys %{$Data{$date}}) { print join(",", $date, $msc_name, @{$Data{$date}->{$msc_name}}), "\n" ; } } close(INFILE);