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 a round_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

SEE ALSO

http://zoidberg.sourceforge.net