in reply to Re: printing output on text file from file - perl
in thread printing output on text file from file - perl

Hi Experts,

Thanks for the responses

I got the requireq out put, but when i tired to add zero if no value is defined for a variable,i didnt get the required output

#!/usr/bin/env perl -l use strict; use warnings; use Inline::Files; my @file_handles = \(*ANIMALS, *FRUITS, *VEGETABLES); my %data; for my $fh (@file_handles) { while (<$fh>) { my ($id, $type, $val1, $val2) = split; if ($val1 eq ""){ $val1 = "0.00"; } $data{in}{$type}{$id}{val1} += sprintf "%.2f", $val1; $data{in}{$type}{$id}{val2} += sprintf "%.2f", $val2; $data{subtotal}{$type}{val1} += sprintf "%.2f", $val1; $data{subtotal}{$type}{val2} += sprintf "%.2f", $val2; $data{total}{val1} += $val1; $data{total}{val2} += $val2; } } for my $type (sort keys %{$data{in}}) { print $type; for (sort keys %{$data{in}{$type}}) { print join("\t" => $_, @{$data{in}{$type}{$_}}{qw{val1 val2}}) +; } print join("\t" => 'Sub', @{$data{subtotal}{$type}}{qw{val1 val2}} +); } print join("\t" => 'Tot', @{$data{total}}{qw{val1 val2}});

Output

RACK A 0 0 B 0 0 C 0 0 D 0 0 Sub 0 0 TACK E 0 0 F 0 0 G 0 0 H 0 0 Sub 0 0 Tot 0 00

please guide me where i went wrong

Thanks