..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: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
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...#!/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";
In reply to Parsing a text file by nimajneb
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |