G'day Perlseeker_1,

Both this, and your subsequent post, seem poorly worded and lacking information. I do not appear to be alone in having trouble understanding exactly what you want. Please read "How do I post a question effectively?" to see how to improve your posts.

This general class of problem looks like a simple case of reading files and keeping track of totals. Given your second post has input data and some indication of the output (I've guessed at how you get 2x"Rack" from 8x"RACK" and 4x"TACK"), here's some simple code to accumulate totals and output the results.

#!/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; $data{in}{$type}{$id}{val1} += $val1; $data{in}{$type}{$id}{val2} += $val2; $data{subtotal}{$type}{val1} += $val1; $data{subtotal}{$type}{val2} += $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}}); __ANIMALS__ A RACK 2 2 B RACK 2 2 C RACK 2 2 D RACK 2 2 __FRUITS__ A RACK 2 2 B RACK 2 2 C RACK 2 2 D RACK 2 2 __VEGETABLES__ E TACK 4 2 F TACK 4 2 G TACK 4 2 H TACK 4 2

Output:

RACK A 4 4 B 4 4 C 4 4 D 4 4 Sub 16 16 TACK E 4 2 F 4 2 G 4 2 H 4 2 Sub 16 8 Tot 32 24

If you are unable to adapt this to your requirements, ensure you adhere to the guidelines in "How do I post a question effectively?" when asking any follow-up questions.

-- Ken


In reply to Re: printing output on text file from file - perl by kcott
in thread printing output on text file from file - perl by Perlseeker_1

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.