dbi::format(3)

NAME

DBI::Format - A package for displaying result tables

SYNOPSIS

# create a new result object
$r = DBI::Format->new('var1' => 'val1', ...);
# Prepare it for output by creating a header
$r->header($sth, $fh);
# In a loop, display rows
while ($ref = $sth->fetchrow_arrayref()) {
  $r->row($ref);
}
# Finally create a trailer
$r->trailer();

DESCRIPTION

THIS PACKAGE IS STILL VERY EXPERIMENTAL. THINGS WILL
CHANGE.

This package is used for making the output of DBI::Shell
configurable. The idea is to derive a subclass for any
kind of output table you might create. Examples are

· a very simple output format as offered by
DBI::neat_list(). "AVAILABLE SUBCLASSES".
· a box format, as offered by the Data::ShowTable
module.
· HTML format, as used in CGI binaries
· postscript, to be piped into lpr or something sim
ilar
In the future the package should also support interactive
methods, for example tab completion.
These are the available methods:
new(@attr)
new(attr)
(Class method) This is the constructor. You'd
rather call a subclass constructor. The construcor
is accepting either a list of key/value pairs or a
hash ref.
header($sth, $fh)
(Instance method) This is called when a new result
table should be created to display the results of
the statement handle $sth. The (optional) argument
$fh is an IO handle (or any object supporting a
print method), usually you use an IO::Wrap object
for STDIN.
The method will query the $sth for its NAME,
NUM_OF_FIELDS, TYPE, SCALE and PRECISION attributes and typically print a header. In gen
eral you should not assume that $sth is indeed a
DBI statement handle and better treat it as a hash
ref with the above attributes.
row($ref)
(Instance method) Prints the contents of the array
ref $ref. Usually you obtain this array ref by
calling $sth->ffeettcchhrrooww__aarrrraayyrreeff(()).
trailer (Instance method) Once you have passed all result
rows to the result package, you should call the
trailer method. This method can, for example print the number of result rows.

AVAILABLE SUBCLASSES

First of all, you can use the DBI::Format package itself:
It's not an abstract base class, but a very simple default
using DBI::neat_list().

Ascii boxes

This subclass is using the Box mode of the Data::ShowTable module internally. Data::ShowTable(3).

Raw

Row is written without formating. Columns returned in
comma or user defined separated list.

String

Row is written using a string format. Future releases
will include th ability set the string format.

AUTHOR AND COPYRIGHT

This module is Copyright (c) 1997, 1998
Jochen Wiedmann
Am Eisteich 9
72555 Metzingen
Germany
Email: joe@ispsoft.de
Phone: +49 7123 14887
The DBD::Proxy module is free software; you can redis
tribute it and/or modify it under the same terms as Perl
itself.

SEE ALSO

DBI::Shell(3), DBI(3), dbish(1)
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout