The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DBMS - Perl5 access to a dbms server.

SYNOPSIS

    use DBMS ;
    $x=tie %hash, 'DBMS', $type,$name;

    # Use the %hash array.
    $hash{ aap } = noot;
    foreach $k (keys(%hash)) {
        print "$k - $hash{ $k }\n";
        };
    # and destroy..
    undef $x;

DESCRIPTION

DBMS is a module which allows Perl programs to make use of the facilities provided by the dbms server. The dbms server is a small server with a bit of glue to the Berkeley DB (> 1.85 < 2.x) and some code to listen to a few sockets.

DETAILS

As the devil is in the details... this module supports three functions which are not part of the normal tie interface; atomic counter increment, atomic counter decrement and atomic list retrival.

The increment and decrement functions increments or decrement a counter before it returns a value. Thus a null or undef value can safely be taken as an error.

EXAMPLE

    use DBMS ;
    $x=tie %hash, 'DBMS', $type,$name
        or die "Could not ty to $name: $!";

    $hash{ counter } = 0;

    $my_id = $x->inc( 'counter' )
        or die "Oi";

    $my_id = $x->dec( 'counter' )
        or die "Oi oi";

    # and these are not quite implemented yet..
    #   
    @keys = $x->keys();
    @values = $x->values();
    @all = $x->hash();

VERSION

$Id: DBMS.pm,v 1.5 2006/06/19 10:10:24 areggiori Exp $

AVAILABILITY

Well, ah hmmm. For ParlEuNet at the beginning but now for the whole CPAN community.

BUGS

Memory management not fully checked. Some speed issues, I.e. only about 100 TPS. No proper use of $! and $@, i.e. it will just croak, carp or return an undef. And there is no automagic retry should you loose the connection.

Author

Dirk-Willem van Gulik <dirkx@webweaving.org> and Alberto Reggiori <areggiori@webweaving.org>

SEE ALSO

perl(1), DB_File(3) AnyDBM_File(3) perldbmfilter(3).

1 POD Error

The following errors were encountered while parsing the POD:

Around line 17:

Unknown directive: =NAME