Please find the subroutine:
while (chomp(@field = split (/\t/, <FILE>)))
{
next unless ($field[0] =~ /^$USG_REC_IND/);
foreach my $key ( keys %load_data ) {
{
if (length($key) == 0)
{
next;
}
}
}
$fulllookupKey = $field[1]."\t". $field[2]."\t". $field[3]."\t".$
+field[4]."\t".$field[5];
$RescatKey = $field[1];
$RessubcatKey = $field[2];
$MasterSrkey = $field[3];
$field[4] =~ s/^\s+//;
$field[21] =~ s/^\s+//;
$Count = $field[6];
$Amount = $field[7];
if (exists($output{$RescatKey}{$RessubcatKey}{$fulllookupKey}))
{
$output{$RescatKey}{$RessubcatKey}{$fulllookupKey}->[0] += $fie
+ld[6];
$output{$RescatKey}{$RessubcatKey}{$fulllookupKey}->[1] += $fie
+ld[7];
}
else
{
$output{$RescatKey}{$RessubcatKey}{$fulllookupKey}->[0] = $fiel
+d[6];
$output{$RescatKey}{$RessubcatKey}{$fulllookupKey}->[1] = $fiel
+d[7];
}
}
for my $k1 (sort keys %output){
print "$k1\n";
for my $k2 ( sort keys %{ $output{$k1} } ) {
print "\t$k2\n";
for my $k3 ( sort keys %{ $output{$k1}{$k2} } ) {
my $Source = substr($k3,16,100);
print "\t\t$Source $output{$k1}{$k2}{$k3}->[0]\t$output{$k1}{$k2}
+{$k3}->[1]\n";
print "\t\t$Source1\t TOTAL \t$output{$k1}{$k2}{$k3}->[1]\t$outpu
+t{$k1}{$k2}{$k3}->[0]\n";
}
}
}
close (OUT);
}
|