Data::Reporter module for Perl
----------------------
version 1.4

Ricardo Vazquez
rvazquez_a@yahoo.com

This module generates ascii reports from a Database or a plain ascii file.


Data::Reporter has a series of components. The user has only to define the 
contents or functions that each component will use or display. Some are 
mandatory (Header, Title, Detail) while others are optional to the user.
Here is the list of all the components:
   - Header
   - Title
   - Detail
   - Breaks
   - Final
   - Footer

Because of perl's multiple plataform availability, the same report program 
can be run in many platforms with no changes in the code. The modules have been tested on Solaris, Windows NT and Windows 95.

A visual report generator called VisRep.pl is also included. This is based
on PerlTk. This program generates perl programs, that can be executed. 
VisRep.pl can be later used to edit such generated programs.

Four examples are included:
example1.pl    Uses a Sybase datasource.
               This program has been created with VisRep.pl
example2.pl    Uses a plain ascii file example2.dat as datasource.
               This program was created with VisRep.pl
example3.pl    The same program as example1.pl, but created by hand.
example4.pl    The same program as example2.pl, but created by hand.

Files Manifest:
---------------
README                               This file
Makefile.PL                          Perl script to generate Makefile
bin/VisRep.pl                        Visual report generator
bin/Sources.cfg                      Available data sources for VisRep.pl 
                                     (only Sybsource at this time)
examples/example1.pl                 Example for Sybase source
examples/example2.pl                 Example for a plain ascii file source
examples/example3.pl                 Example for Sybase source 
examples/example4.pl                 Example for a plain ascii file source 
examples/example2.dat                Source data for example1.pl and example4.pl
Reporter.pm                          Main module to generate reports
Reporter/Datasource.pm               Abstract class for sources
Reporter/Filesource.pm               File source class
Reporter/Sybsource.pm                Sybase source class
Reporter/Sybsource.pm                Oracle source class
Reporter/RepFormat.pm                Module to manipulate text in memory
Reporter/IBsource.pm                 Handler for Interbase/Firebird connection
Reporter/VisSection.pm               Module to manipulate report sections 
                                     (used only by VisRep.pl)
Reporter/RepFormat.xs                XS code for RepFormat
Reporter/Makefile.PL                 Perl script for RepFormat's Makefile
Reporter/typemap
Reporter/test.pl                     Test script for RepFormat
Reporter/libRepFormat/Makefile.PL    Makefile for Repformat library
Reporter/libRepFormat/RepFormat.c    C code for RepFormat
Reporter/libRepFormat/RepFormat.h    Header file for RepFormat

Install:
--------
Type:
perl Makefile.PL
make 
make test
make install

Changes:
--------
1.2 - 1.3
   -Use of functions to access the report's variables
   -Module RepFormat has been migrated to C to improve performance.
   -Add the use of pictures to print (example: "999,999.99")
   -rtrim in all lines of the output file
   -Changes in the internals to improve performance (Thanks to Humberto Hernandez)
   *Note
   Credits for version 1.3 are for Humberto Hernandez and his teamwork. Thanks :-)

1.3 - 1.3.1
   -Add Orasource module (Created by Vecchio Fabrizio). Thanks Vecchio :-)

1.3.1 - 1.4
   -Add various functions to RepFormat.c  (By Ilya Verlinsky)
   -Add IBsource module                   (By Ilya Verlinsky)
   -Changed call to time() to call to 
    CORE::time() to avoid warning when
    calling perl with -w switch           (By Alberto Lago da Silva)
   -Created mode 3 in method date() to 
    generate dates with AAAA-MM-DD format (By Alberto Lago da Silva) 
   -Added the possibility of passing a    (By Alberto Lago da Silva)
    hash ref with user data. This was 
    added this because the need to have 
    dynamic headers in some reports.
   -Added method userdata() to access the (By Alberto Lago da Silva)
    user data
   -Bug fix in _print_header              (By Alberto Lago da Silva)
   -Library fix to pass test #3 on linux  (By Ricardo Vazquez Armenta)
	
   *Note
   Credits for version 1.4 are for Alberto Lago da Silva and for Ilya Verlinsky, because THEY MADE ALL THE IMPROVEMENTS!! :-)
   
Please send any comments or suggestions

Copyright (c) 1999 Ricardo Vazquez. All rights reserved. This program is free
software; you can redistribute it and/or modify it under the same terms as
Perl itself.