in reply to Coding perl a plugin system?

I'm not advocating this as the best method but since nobody else has brought it up I thought I should. You can re-open name spaces with the 'package' keyword. The best example of this (that I can think of) are the plugins for Mail::Audit.

from Mail/Audit/KillDups.pm

package Mail::Audit::KillDups; use Mail::Audit; use vars qw(@VERSION $dupfile $cache_bytes); $VERSION = '1.9'; $dupfile = ".msgid-cache"; $cache_bytes = 10000; 1; package Mail::Audit; use strict; use Fcntl; sub killdups { . . .