Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Algorithm::Accounting(User Contributed Perl DocumentatAlgorithm::Accounting(3)

	 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 );


	 # Generate report to STDOUT

	 # 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

       "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).

       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 <>.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       See <>

perl v5.32.1			  2005-01-23	      Algorithm::Accounting(3)


Want to link to this manual page? Use this URL:

home | help