I have a plain text file containing entries such as these:
01/03/2008 angie 53 01/03/2008 kristen 95 01/03/2008 MaryT 123 01/03/2008 Nicole 27 01/03/2008 sylvarius 33 01/03/2008 yasmin 67 02/03/2008 angie 2 02/03/2008 kristen 121 02/03/2008 MaryT 81 02/03/2008 Nicole 47 02/03/2008 sylvarius 15 02/03/2008 Tanya 22 02/03/2008 yasmin 60 03/03/2008 angie 3 03/03/2008 donna 78 03/03/2008 Kimberly 9 03/03/2008 kristen 257 03/03/2008 MaryT 181
..and so on and so forth, all the way through to the end of the month. I'm completely new to perl and been trying to come up with a script to add all the numbers up and assosciate them with the corresponding name, the date field at this point is irrelevant. Like I said I don't really know what I'm doing at all so point, laugh and taunt away, I probably deserve it, this is as far as I have gotten so far:
#!/usr/bin/perl # invoice.pl $file = 'msgcount.txt'; open(LOG, $file); #Store the file in an array, split by newlines while (<LOG>){ $string .= $_; } @array = split(/\n/, $string); #Loop through the array foreach (@array) { #Split the lines up into words for easy referencing @tmpwords = split(/ /); #If the operator name is not already in the array, add it. unless (grep /@tmpwords[1]/, @operators) { push (@operators, @tmpwords[1]); } foreach (@operators) { if (@tmpwords[1] eq $_) { $tmptotal = $tmptotal+@tmpwords[2]; } push (@totals, $tmptotal); } } print "@totals[1]\n";
I was thinking of having the names in one array then their totals in another, in the same order as they are in the first array (a ridiculous way to do it, I'm sure..) then somehow print them all together (Total for <NAME> is <TOTAL>..) The print line at the end was just a bit of a debugging test, but that's basically where my brain has frozen over and I just have no idea what I'm doing. Any pointers would be greatly appreciated...

In reply to Parsing a text file by nimajneb

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.