http://www.perlmonks.org?node_id=388071


in reply to Re^2: Counting In a Log File from Multiple Variables
in thread Counting In a Log File from Multiple Variables

I would change:

while(<FILE>) { # chomp; #@_=split(','); foreach $line (<FILE>) { @_=split(','); $Data->{$_[1]}->{$_[3]}++; } }

to

while(<FILE>) { chomp; @_=split(','); $Data->{$_[1]}->{$_[3]}++; }

The "chomp" will get rid of that pesky newline you are seeing in the output. Also, the "while(<FILE>)" will process each line of your file (one at a time) and will assign each line to $_. This means your "foreach $line (<FILE>)" is not needed.

Note: The foreach loop in your code would assign data to the $line variable. Your split is splitting $_ (nothing specified mean you get to use the default $_)... if you were to use your foreach, you would want to change your split to "@_=split(',',$line);"

Replies are listed 'Best First'.
Re^4: Counting In a Log File from Multiple Variables
by monger (Friar) on Sep 03, 2004 at 13:20 UTC
    Thanks Rhose. Worked like a charm. Now to look at expanding to count some more fields. Now my feet are a bit wetter, I think I'm in business! monger
    Monger +++++++++++++++++++++++++ Munging Perl on the side