ts <decoux / moulon.inra.fr> wrote:
>
> >>>>> "B" == Ben Tilly <ben_tilly / hotmail.com> writes:
>
>B> As things stand someone who wanted to write a version
>B> of Hash or Array which was tied to disk through a dbm
>B> library like Berkeley DB would need to reimplement a
>B> lot of methods.
>
>pigeon% wc -l bdb.c
>    4264 bdb.c
>pigeon%
>
>pigeon% wc -l BerkeleyDB.xs BerkeleyDB.pm
>    3655 BerkeleyDB.xs
>    1189 BerkeleyDB.pm
>    4844 total
>pigeon%
>
>  Sorry but I still prefer the ruby version

Ask yourself the following questions first.

1. Are you aware that the module is largely documentation?
2. Are you aware that the Perl interface to that specific
   module is largely stuff that does not fit into the
   idea of a hash?
3. Are you aware that Perl's C API is a definite sore spot?
4. Since the essential support for the concept is part of
   Ruby from the ground up rather than hacked on top as a
   special case like it is in Perl, I would expect a Ruby
   implementation to be both simpler to do and work more
   smoothly than Perl's version. (*)

Cheers,
Ben

PS Perl's version of tie is actually built all of the way
   through the source-code.  Just last weekend I learned of
   yet another bug in Perl due to this.  local() and tie()
   (at least when you are tying filehandles) do not play
   well together.
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com