NAME

Zoidberg - A modular perl shell

SYNOPSIS

You should use the zoid system command to start the Zoidberg shell. To embed the Zoidberg shell in another perl program use the Zoidberg::Shell module.

DESCRIPTION

This page contains devel documentation, if you're looking for user documentation start with the zoid(1) and zoiduser(1) man pages.

This module contains the core dispatch and event logic of the Zoidberg shell. Also it is used as a 'main object' so other objects can find each other here; all other objects are nested below this object. Also it contains some parser code.

This object inherits from both Zoidberg::Contractor and Zoidberg::Shell.

METHODS

new(\%attr)

Initialize secondary objects and sets config. %attr contains non-default attributes and is used to set runtime settings.

You probably don't want to use this to construct a new Zoidberg shell object, better use Zoidberg::Shell.

main_loop()

Spans interactive shell reading from a secondary ReadLine object or from STDIN.

To quit this loop the routine exit() of this package should be called. Most common way to do this is pressing ^D.

mode [mode]

Without arguments prints the current mode. With arguments sets the mode.

plug

TODO

unplug

TODO

exit()

Called by plugins to exit zoidberg -- this ends a interactive main_loop() loop. This does not clean up or destroy any objects, main_loop() can be called again to restart it.

round_up()

This method should be called to clean up the shell objects. A round_up() method will be called recursively for all secondairy objects.

AUTOLOADING

Routines not recognised by this object are understood to be either the name of a plugin, in which case a reference to that object is returned, or a shell command, in which case Zoidberg tries to execute it.

AUTHOR

Joel Berger, <joel.a.berger@gmail.com>

Jaap Karssenberg || Pardus [Larus] <pardus@cpan.org>

R.L. Zwart, <carl0s@users.sourceforge.net>

Copyright (c) 2011 Jaap G Karssenberg and Joel Berger. 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

zoid(1), zoiddevel(1), Zoidberg::Shell, http://github.com/jberger/Zoidberg

6 POD Errors

The following errors were encountered while parsing the POD:

Around line 671:

=cut found outside a pod block. Skipping to next block.

Around line 686:

=cut found outside a pod block. Skipping to next block.

Around line 746:

=cut found outside a pod block. Skipping to next block.

Around line 774:

=cut found outside a pod block. Skipping to next block.

Around line 776:

=cut found outside a pod block. Skipping to next block.

Around line 801:

=cut found outside a pod block. Skipping to next block.