The Code

accounts

The main script. This controls the interaction of the following objects:

$fiscrpt = Fiscrpt->new()
Represents the data --- an abstraction of a given input file, for example /var/adm/acct/fiscrpt??.


$streams = Output_Streams->new()
Facilitates logging and error output streams useful for debugging, verifying what data has been read, recognised, not recognised, and what has been produced...


$out (polymorphic)
The main output stream. The implementation of $out is chosen from SGML (REML in fact, which is easily converted to HTML suitable for web pages or TeX suitable for hardcopy) or CSV (suitable for input to a spreadsheet).


$analyser (polymorphic)
Contains the code to parse the input data and produce the desired stats. The implementation of $analyser is chosen, in turn, to correspond to the summary represented by each of the page sub-sequences.


Fiscrpt.pm

An abstraction of the human-readable (ascii) accounting files. A given file is first converted into a sequence of pages; this seqence is divided into a set of sub-sequences (by use of Recognition.pm), each sub-sequence representing one data-summary.

Recognition.pm

Used by Fiscrpt.pm. Contains heuristics designed to recognise the various data summaries which appear in the human-readable (ascii) accounting file. Attempts are made to match some regular expressions against expected strings within page titles. The results of these are used to guess the type of data given in the page and whether the page is the beginning of a sub-sequence or not.

Output_Streams.pm

UsersSumsAnalyser.pm, CmdsSumsAnalyser and LastLogsAnalyser

REML.pm and CSV.pm

Bits.pm

...previouscont's...



About this document:

Produced from the SGML: /home/isd/public_html/_solaris_accounting/_reml_grp/index.reml
On: 16/5/2002 at 14:0:47
Options: reml2 -i noindex -l long -o html -p multiple