NAME
Zoidberg - a modular perl shell
SYNOPSIS
You most likely want to use the default config files as installed by the ProgramFiles package and all the modules from the Zoidberg package.
use Zoidberg;
# set config
my $fluff_conf = {
'prefix' => '/usr/local', # $prefix/share/zoid/... expected to exist
'config_dir' => '/home/my_user/.zoid',
'config_file' => 'profile.pd',
'core_file' => 'core.pd',
'grammar_file' => 'grammar.pd',
};
my $cube = Zoidberg->new;
$cube->init($config);
$cube->main_loop;
$cube->round_up;
PROJECT
Zoidberg provides a shell written in perl, configured in perl and operated in perl. It is intended to be a replacement for bash in the future, but that is a long way. Most likely you will have to be a perl programmer or developer to enjoy this.
DESCRIPTION
This class provides a parent object in charche of a whole bunch of plugins. Most of the real functionality is put in this plugins. Also this class is in charche of broadcasting events. Stubs are provided for core plugins. This class autoloads plugin names as subroutines.
EXPORT
None by default.
METHODS
Some usefull methods:
new()
Simple constructor
init(\&meta_config)
Initialize secondary objects and set config
list_objects()
List secondary objects
main_loop()
Not really a loop -- does main action
print()
Print to stdout -- USE this in secondary objects !
ask($question)
get input
abs_path($file)
optional: abs_path($file, $reference)
get absolute path for file
scan_dir($dir)
get files in dir
broadcast_event($event_name, @_)
let all interested objects now ...
register_event($event_name, $zoid_name)
register object $zoid_name for event $event_name
unregister_event($event_name, $zoid_name)
unregister object $zoid_name for event $event_name
registered_events($zoid_name)
list events for object $zoid_name
registered_objects($event_name)
list objects for event $event_name
unregister_all_events($zoid_name)
unregister object $zoid_name for all events
silent()
Set Zoidberg in silent mode - for forks and background executes
exit()
Quit Zoidberg
AUTHOR
Jaap Karssenberg || Pardus [Larus] <j.g.karssenberg@student.utwente.nl> R.L. Zwart, <carlos@caremail.nl>
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 ALSO
http://zoidberg.sourceforge.net