---
name: "Zoidberg"
section: "3pm"
platform: "linux"
package: "zoidberg"
version: "0.96-1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/Zoidberg"
---

# Zoidberg(3pm)

A modular perl shell

## 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

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

zoid(1), zoiddevel(1), Zoidberg::Shell, \<http://zoidberg.sourceforge.net\>
