NAME
Zoidberg - a modular perl shell
SYNOPSIS
Probably you just want the program zoid which is the system command to start the Zoidberg shell. If you really want to initialize the module directly you should check the code of zoid for an elaborate example.
DESCRIPTION
This page contains devel documentation, if you're looking for user documentation start with the zoid(1) man page
This class provides an event and plugin engine.
FIXME more verbose description
METHODS
Some methods:
new()
-
Simple constructor
init(%attr)
-
Initialize secondary objects and sets config.
%attr
is merged with%{$self}
and is ment for runtime variables. System config should not be set here, but in Zoidberg::Config. main_loop()
-
Spans interactive shell reading from secondary object 'Buffer' or from STDIN. To quit this loop the routine
exit()
of this package should be called. list_objects()
-
List secondary objects. These do not need to be loaded allready, the list is based on the config files.
object($zoidname)
-
Returns secondary object stored under $zoidname. The first time this will "autoload" the object's packages and initialise it.
test_object($zoidname, $class)
-
Returns true if object $zoidname exists and is blessed as $class. Since this calls
object($zoidname)
the object will be initialised when tested. exit()
-
Called by plugins to exit zoidberg -- this ends a interactive
main_loop()
loop round_up()
-
This method should be called before letting the object being destroyed, it allows secundairy objects to be cleaned up nicely. If this is forgotten,
DESTROY
will try to do this for you but an error will be printed to STDERR. From here all secundairy objects having around_up()
method will be called recursively.
AUTHOR
Jaap Karssenberg || Pardus [Larus] <pardus@cpan.org>
R.L. Zwart, <carl0s@users.sourceforge.net>
Copyright (c) 2002 Jaap G Karssenberg. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/language/misc/Artistic.html and http://www.gnu.org/copyleft/gpl.html