[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

[MacPerl] Butperl ready for beta test



I just completed a working version of Butperl (a module that enables
MacPerl to access Butler database).  I am now looking for beta testers.
Any volunteer?  If all goes well, I will put this on my home page, and make
it publicly available.  Enclosed is the README file.

Peter Chen
petechen@math.rutgers.edu
------
README for Butperl by Peter Chen, 2/21/96

I. What's Butperl? [Is it just me, or does this sound funny to you too. :-)]

Butperl is a Perl5 module that enables perl scripts to access the Butler
database.  Currently, this only works on Macs.  So this will only be
useful with MacPerl.

II. What's in the package?

        Butler.ph    - Butperl perl header file with useful constants defined
        Butler.pm    - Butperl module, package name "Butler".
        README       - this file
        testpl.pl    - simple example testing whether Butler.pm is 'require'
                       friendly
        testpm.pl    - simple example testing whether Butler.pm is 'use'
                       friendly

III. How do I install this?

Simply put Butler.ph, Butler.pm, in a folder/directory that's in your
perl library path.

*Important*
The XFCN file that's loaded by MacPerl to interface with Butler is not
included in this distribution.  I am still waiting for permission from
Everyware to include this.  For Butler owners who has the "Connection
Goodies" disk:

        Open "EDC DAM Externals v1.0.3a" stack in the HyperCard folder with
                ResEdit
        Copy all XFCN and XCMD resources to a new file
        Save the file as "Butler.XFCN"
        Move the file into a folder in your perl library path.

IV. How do I use this?

Butler.pm provides you with the following functions, if you "use Butler'.

        &but_connect
        &but_disconnect
        &but_finish
        &but_prepare
        &but_execute
        &but_fetch
        &but_rollback
        &but_version
        &but_errno
        &but_errstr
        &but_do
        &but_lookup
        &but_login
        &but_mkdbstr
        &but_commit
        &but_dbsep

If you 'require Butler.pm' instead, you will have to use
'Butler::connect', 'Butler::disconnect', etc instead.  The arguments are
documented in the source.  The easiest way to start is use "testpm.pl as
a template.

V. Bugs and caveats

The interface is modeled after DBD/DBI specification.

<http://www.hermetica.com/technologia/DBI>

A few known shortcomings:

        1. Only one statement handle per session. There is no way to prepare
        multiple statements in one session.     For one session, there is
only one
        active statement.  So in reality, the database handle and the statement
        handle are equivalent.  At this point, the statement handles are not
        being used at all.

        2. Error and status checking.  Butler gives more error status
        information then simply an error number and an error string.  Right now
        I combine all these information into &but_errno and &but_errstr.
In the
        future, I plan to provide functions to give more detail error
information.

VI. Disclaimer

        1. Use this at your own risk.  This is a purely alpha/beta software.  I
        made no guarantee of how well this will work for you.

        2. No connection with Everyware.  This package is provided without any
        connection/sponsorship from Everyware.  The only connection if there is
        any, is that I have been a happy customer of Everyware for over a year.

VII. Credit

        Many thanks to MacPerl-L, Butler-L, and DBI mailing lists, where
lots of
        useful discussions took place.

        Special thank to Sergey Goldgaber <sergey@el.net>, whose original
        posting on Butler-L inspired this module.

        Thanks to Jeff A. Shields <jas@everyware.com> and Douglas Getty
        <dgetty@everyware.com> from Everyware for their great technical/sales
        support.