DBMS - Perl5 access to a dbms server.
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;
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.
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.
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();
$Id: DBMS.pm,v 1.5 2006/06/19 10:10:24 areggiori Exp $
Well, ah hmmm. For ParlEuNet at the beginning but now for the whole CPAN
community.
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.
Dirk-Willem van Gulik <dirkx@webweaving.org> and Alberto Reggiori
<areggiori@webweaving.org>
perl(1), DB_File(3) AnyDBM_File(3) perldbmfilter(3).
Hey! The above document had some coding errors, which are explained
below:
- Around line 17:
- Unknown directive: =NAME