The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

psh - Perl Shell

SYNOPSIS

A fairly simple read-eval loop. The -w flag and 'use strict' are not employed so that the user is not bound by their stipulations. Setting $^W = 1 will turn on warnings, and calling '<use strict>' will do the usual thing if called by the user.

DESCRIPTION

Each line of input is read and immediately evaluated.

Multiline input may be entered by starting with a line like &lt&ltXXX, followed by lines of input not having XXX on a line by itself, followed by such a line. If XXX is not specified, then the first blank line terminates the input.

An input line beginning with `!' will be given as a parameter to the system() Perl function.

An input line beginning with `.' followed by a space and a file name will cause the contents of the specified file to be read in and evaluated.

If $ENV{HOME} is set, and the file $ENV{HOME}/.pshrc is present, it will be read in and evaluated before processing begins. If not, but <.pshrc> is present in the current directory, it will be read and executed.

Setting the variable $psh::prompt to a string will cause that string to be used as the prompt-string. Setting it to a subroutine reference causes the result of running that subroutine to be used each time. For example,

  $psh::prompt = sub { $i++; "psh [$i]\$ "; }

will cause the prompt to be psh [1]$ followed by psh [2]$, and so on.

LIMITATIONS

The loop inside psh will clobber $1 and other variables because it uses matches to implement some of its special functions.

Very little error checking is done.

FILES

.pshrc - The user's Perl Shell `profile'. May be in $HOME or the current directory.

AUTHOR

Gregor N. Purdy, gregor@focusresearch.com

COPYRIGHT

Copyright (C) 1999 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.