Class::Date provides a date datatype for Perl. You can create new Class::Date objects with a constructor from different scalar formats, array refs, and hash refs, and then you can easily manipulate it by the builtin "+" and "-" operators (e.g., $date=date([2001,03,15])+'3Y 1s'). Relative date types also available.
drsync is a Perl wrapper for rsync which keeps track of the filelist between synchronizations. If you delete a file in one place, it will delete it in the other place; if you add a file, it copies to the other place. It is ideal for notebook users who want to keep data in two (or more) different places. It is also good for the Linux PDAs (Agenda, iPAQ, Yopi, etc.), to keep data synchronized with the desktop. The requirements are designed to be minimum.
Module::Reloadable is a Perl module which can be used in any environment which runs Perl programs permanently (FastCGI, mod-perl, GTK). It is intended to reload the defined modules if they change and if the optionally-specified conditions are true. It was originally written for speeding up development in FastCGI.
Tie::Table (formerly known as TableMap) is a lightweight Perl module which maps tables in DBI data sources into hashes. It supports foreign keys, so you can "walk" between tables by foreign keys. For example, $user->company_id->{address} gives the address of the user's company. It also caches the result.
dpkg --get-selections, dpkg --set-selections dpkg already has similar functionality... Why it is better?
Re: Is it necessary? > What would be interresting would be > something like a mix of this and CVS > merge - that is, that if a file is > changed on both sides, and is a > text-...
Re: Is it necessary? > Hmm... Interesting idea, but (IMHO) it > can be done with rsync itself: > > $ rsync -a --delete /src/path > rsync://dst.host.com/path/ > > Th...