Algorithm::Accounting - Generate accounting statistic for general logs
my $fields = [qw/id author file date/]; my $groups = [[qw(author file)], [qw(author date)]]; my $data = [ [1, 'alice', '/foo.txt', '2004-05-01' ], [2, 'bob', '/foo.txt', '2004-05-03' ], [3, 'alice', '/foo.txt', '2004-05-04' ], [4, 'john ', '/foo.txt', '2004-05-04' ], [5, 'john ', [qw(/foo.txt /bar.txt], '2004-05-04' ], ]; # give the object information my $acc = Algorithm::Accounting->new(fields => $fields, field_groups => $groups ); $acc->append_data($data); # Generate report to STDOUT $acc->report; # Get result my $result = $acc->result; # Get result of a specific field. my $author_accounting = $acc->result('author'); # Reset current result so we can restart $acc->reset;
Algorithm::Accounting provide simple aggregation method to make log accounting easier. It accepts data in rows, each rows can have many fields, and each field is a scalar or a list(arrayref).
Algorithm::Accounting
The basic usage is you walk through all your logs, and use append_data() to insert each rows, (you'll have to split the line into fields), and then call result() to retrieve the result, or report() to immediatly see simple result.
You may specify a filed_groups parameter (arrayref of arrayref), and Algorithm::Accounting will account these fields in groups.
Notice you'll have to give a list fileds first, the append_data() depends on the number of fields to work properly.
Copyright 2004 by Kang-min Liu <gugod@gugod.org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See <http://www.perl.com/perl/misc/Artistic.html>
To install Algorithm::Accounting, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Algorithm::Accounting
CPAN shell
perl -MCPAN -e shell install Algorithm::Accounting
For more information on module installation, please visit the detailed CPAN module installation guide.