GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PSHDEVEL(1) User Contributed Perl Documentation PSHDEVEL(1)

psh - Developing for Perl Shell

Developing for the Perl Shell.

The -d option puts psh into "debugging" mode, which prints diagnostic output. Note that you can also enter/leave this debugging mode in a running psh via the $Psh::debugging variable.

Possible values for -d/$Psh::debugging are either 0 to disable it, 1 to enable all debug messages or a string of characters where each character denotes a certain class of debug messages.

"s" - enables printing of information about the chosen strategy for each command
"o" - enables printing of "other" debug info - info which has not been further categorized
"f" - enables printing of the rc files read by psh on startup while it is executed and allows easy tracing of problems in these files
"i" - enables printing of initialization debug info
"e" - enables printing of otherwise suppressed error messages
"c" - enables printing of debug messages for completion

Even though psh aims to be an interactive shell instead of a scripting environment, speed is important. The main concern here is that startup speed of psh, which is primarily determined by two factors:
perl startup and module loading
command processing speed

The startup time on a normal, not to busy, computer should be smaller than one second. To make this possible, keep some simple rules in mind:

prefer "require" to "use" whenever possible
delay loading modules until they are really needed
let the "applies" method of evaluation strategies be as fast as possible

On startup, "psh" scans the Psh::Builtins:: namespace and will add the names of all found dynamic loadable builtins to %Psh::built_ins.

During evaluation of an input line, "psh" will first check the %Psh::built_ins variable. If this fails it will try to locate an appropriate built-in function in Psh::Builtins.pm.

A dynamical loadable builtin has to be in a file called Builtinname.pm within the Psh::Builtins:: namespace and has at least one subroutine, called 'bi_builtinname'. Additionally, it may provide a cmpl_builtinname subroutine for a custom completion. Furthermore, a builtin should contain some pod documentation, starting with "=item * " and ending with "=cut". The builtin will be called with 2 arguments, the first one if the rest of the line while the second one is an array to all the words psh discovered.

For a list of the predefined psh builtins, use the "help" command from within psh.

Currently empty due to overhaul of strategies

Copyright (C) 1999-2003 Gregor N. Purdy. All rights reserved. This script is free software. It may be copied or modified according to the same terms as Perl itself.
2007-07-06 perl v5.32.1

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.