The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

zoidfaq - Frequently Asked Questions about Zoidberg

DESCRIPTION

About the project

What's with the name ?

If you don't know where the name comes from, you should watch more cartoons.

Quoting some futurama episode about a certain docter Zoidberg :

 "He's a weird monster who smells
     like he eats garbage and does"

This program was from the very beginning intended to become a huge and bloated monster.

Is it stable yet ?

NO ! If it is stable we'll call it 1.00 .

Is it safe to use it already ?

Kind of, as long as you don't try too fancy stuff with too many privileges.

Features

How do I turn off ansi colours ?

Set the environment variable CLICOLOR to 0 (null).

What's with the single arrow syntax ?

When you type perl code without brackets around it, zoid does a little source filtering making a arrow '->' (the dereference operator) at the start of a word an alias for '$shell->'. Where '$shell' is the main shell object.

 zoid$ ->Commands->cd(q/../)
 # is the same as
 zoid$ $shell->Commands->cd(q/../)

I dislike jobs ending without waiting for me to hit a key :(

This behaviour is called asynchronous notification. It is not a real default option; it is turned on in the default 'zoidrc' file. Remove the setting "notify" from our 'zoidrc' file or try set +o notify.

Does zoid have a "RPROMPT" ?

No, but Term::ReadLine::Zoid does :) If you use this module try setting $ENV{RPS1}.

Does zoid support utf8/encoding .../locale ?

No, but everyone agrees it would very nice if it did.

The problem is that I ([Pardus]) don't do anything with localisation so I don't have any idea how this should work, no setup to test it, no experience this. Since I don't use this myself for me this has a low priority.

Since perl has a lot of documentation and pragmas relating to this topic I have the feeling it shouldn't be to hard to have zoid at least understand character encoding correctly, but I'm going to need help from people with more experience in using these perl features.

So If YOU want utf8/encoding .../locale in zoid and have some experience in using character encodings in perl please contact [Pardus] by email.

I miss feature X, every shell should have feature X !

Probably it's on the TODO list, or at some list at least. Try the mailing list.

Errors

I upgraded to a new version of zoid and it crashes immediately !?

If you use Term::ReadLine::Zoid, make sure not to use a version older then your version of Zoidberg. When using the latest version of zoid, the latest version of Term::ReadLine::Zoid should work.

If you have all dependencies right you probably need to remove either the directory ~/.zoid or the file ~/.cache/zoid_path_cache. ( Cache no longer used in CVS version. )

Also it might be a good idea to clean up /usr/share/zoid and/or /usr/local/share/zoid before installing a new version.

I upgraded to a new version of zoid and it hangs !

See the previous question.

Versions of Env::PS1 prior to 0.4 are known to behave badly when used on a system with a case-insensitive filesystem. Install version 0.4 for the fix.

I got a segfault, is this a bug ?

Well, if it is a bug at all then probably it's a bug in perl, not in zoid.

Most notoriously if you use globs in perl code, perl 5.8.0 can segfault; upgrading to perl 5.8.2 fixes this problem.

On the other hand if zoid dies with an "attempt to free an unreferenced scalar" kind of message it probably is a bug in zoid, please report it.

Development

How do I get Zoid to cooperate with a gui toolkit like Tk ?

To my understanding the only thing needed to cooperate with any gui toolkit is a "heartbeat" event to update the gui. If you use our Term::ReadLine::Zoid library zoid will give you an event called "beat". Try something like:

 $shell->{events}{beat} = \&update_gui;

SEE ALSO

perl(1), http://zoidberg.sourceforge.net