Writing WebTen Perl CGIs


This paper describes the straightforward process of writing Perl CGIs under WebTen.

Perl CGIs are Text Files

This document describes WebTen Perl CGIs. A Perl CGI is a text file that contains commands for the Perl language interpreter.

You can use BBEdit or BBEdit Lite (included on the WebTen CD) to create a Perl CGI. Perl CGIs are given the suffix ".pl" (e.g., mycgi.pl).

Create a new CGI called mycgi.pl.

Store the newly created file in the cgi-bin directory, under the WebTen directory. The new CGI can be referenced from a browser with the following URL:

/cgi-bin/<cgi-name>

If mycgi.pl is stored in the cgi-bin directory, the URL would be:

/cgi-bin/mycgi.pl

Basic Steps

Required Shell Script Content

In addition to creating the text file, there are a few important considerations with respect to the content of the file. First, the top line of the file must contain the text:

#!/usr/local/bin/perl

This tells the WebTen system that this is a Perl script and that Perl should be used to process the remainder of the file.

Second, you can use Perl print statements to generate text which will be returned to the browser that initiated the URL. The first print command must contain an HTTP header. This header indicates what format or kind of data will be output by the remainder of the print commands. The choices are usually plain text or text that is marked up using the HyperText Markup Language (HTML). This first print command puts WebTen and the browser in the proper mode to accept everything else.

For Perl scripts that output plain text, use:

print "Content-type: text/plain \n\n";

For Perl scripts that output HTML statements, use:

print "Content-type: text/html \n\n";

The print indicates that text/plain or text/html will follow. After that, any text generated with a print command is sent to the originating browser as a response to the URL request.

Perl scripts are text files containing Perl language statements that generate a stream of text characters in response to being executed. There are Perl statements for assigning integer and string values to variables, statements for prescribing conditional flow through the script, and statements for running other programs. Very sophisticated CGIs can be created by combining different Perl statements. A number of widely available books describing Perl programming are available. Programming Perl, Second Edition by Larry Wall, Tom Christiansen and Randal L. Schwartz, with Stephen Potter. 1996, O'Reilly & Associates

Perl Shell CGIs are fast and easy to develop

Perl is used for medium-performance, easy-to-develop CGIs. Each Perl program is text. The scripts are interpreted by a Perl interpreter controlled by WebTen. Since the interpreter interprets each Perl statement, Perl scripts can consume a lot of memory and use a large number of processing cycles.

Printenv.pl Example

A sample Perl CGI is included in the .printenv.pl file located in the WebTen cgi-bin directory. The first few lines of the file establish the mandatory #!/usr/bin/perl and print Content-type: text/plain requirements for any Perl script. The remaining two Perl statements output a dozen or more lines that contain the values of a family of environment variables. The following is the content of the printenv.pl CGI:

#!/usr/local/bin/perl

print "Content-type: text/html\n\n";
while( ($key,$val) = each  %ENV ) 
{      print "$key = $val<BR>\n";      }

When the printenv.pl CGI is referenced by a URL, it produces the following output:

SERVER_SOFTWARE = Apache/1.2b10 WebTen/1.0b8.9
GATEWAY_INTERFACE = CGI/1.1
DOCUMENT_ROOT = /usr/local/etc/httpd
REMOTE_ADDR = 205.180.86.12
SERVER_PROTOCOL = HTTP/1.0
REQUEST_METHOD = GET
REMOTE_HOST = 205.180.86.12
HTTP_REFERER = http://fred.tenon.com/examples/default.html
QUERY_STRING=
HTTP_USER_AGENT=Mozilla/3.0 (Macintosh; I; PPC)
PATH = /bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin
HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
REMOTE_PORT = 1046
HTTP_PATH_CONTROL = Max-age=259200
SCRIPT_NAME = /cgi-bin/printenv.pl
SCRIPT_FILENAME = /usr/local/etc/httpd/cgi-bin/printenv.pl
SERVER_NAME = fred.tenon.com
REQUEST_URI = /cgi-bin/printenv.pl
HTTP_X_FORWARDED_FOR = 205.180.86.12
SERVER_PORT = 81
HTTP_HOST = fred.tenon.com
HTTP_VIA = 1.0 fred.tenon.com:80 (Squid/1.1.9.3)
SERVER_ADMIN = webmaster

Environment Variables

Environment variables are pre-defined values set by WebTen before the Perl CGI is started. Environment variables are referenced by the Perl statement $ENV{<env var>}. The Perl statement:

$ENV{PATH} = "/bin:/usr/bin";

sets the PATH environment variable. The Perl statement:

print $ENV{PATH};

prints the current value of the PATH environment variable.

Perl Distribution

The following list is the contents of the WebTen Perl distribution. This distribution is derived from Perl 5.004_04 (for WebTen 2.0.3) and has been installed on the path "/usr/lib/perl5".

AnyDBM_File.pm
AutoLoader.pm
AutoSplit.pm
Benchmark.pm
Bundle/
Bundle/CPAN.pm
CGI.pm
CGI/
CGI/Apache.pm
CGI/Carp.pm
CGI/Fast.pm
CGI/Push.pm
CGI/Switch.pm
CPAN.pm
CPAN/
CPAN/FirstTime.pm
CPAN/Nox.pm
Carp.pm
Class/
Class/Struct.pm
Cwd.pm
Devel/
Devel/SelfStubber.pm
DirHandle.pm
English.pm
Env.pm
Exporter.pm
ExtUtils/
ExtUtils/Command.pm
ExtUtils/Embed.pm
ExtUtils/Install.pm
ExtUtils/Liblist.pm
ExtUtils/MM_OS2.pm
ExtUtils/MM_Unix.pm
ExtUtils/MM_VMS.pm
ExtUtils/MM_Win32.pm
ExtUtils/MakeMaker.pm
ExtUtils/Manifest.pm
ExtUtils/Miniperl.pm
ExtUtils/Mkbootstrap.pm
ExtUtils/Mksymlists.pm
ExtUtils/testlib.pm
ExtUtils/typemap
ExtUtils/xsubpp
File/
File/Basename.pm
File/CheckTree.pm
File/Compare.pm
File/Copy.pm
File/DosGlob.pm
File/Find.pm
File/Path.pm
File/stat.pm
FileCache.pm
FindBin.pm
Getopt/
Getopt/Long.pm
Getopt/Std.pm
I18N/
I18N/Collate.pm
IO/
IPC/
IPC/Open2.pm
IPC/Open3.pm
Math/
Math/BigFloat.pm
Math/BigInt.pm
Math/Complex.pm
Math/Trig.pm
Net/
Net/Ping.pm
Net/hostent.pm
Net/netent.pm
Net/protoent.pm
Net/servent.pm
Pod/
Pod/Functions.pm
Pod/Html.pm
Pod/Text.pm
Search/
Search/Dict.pm
SelectSaver.pm
SelfLoader.pm
Shell.pm
Symbol.pm
Sys/
Sys/Hostname.pm
Sys/Syslog.pm
Term/
Term/Cap.pm
Term/Complete.pm
Term/ReadLine.pm
Test/
Test/Harness.pm
Text/
Text/Abbrev.pm
Text/ParseWords.pm
Text/Soundex.pm
Text/Tabs.pm
Text/Wrap.pm
Tie/
Tie/Hash.pm
Tie/RefHash.pm
Tie/Scalar.pm
Tie/SubstrHash.pm
Time/
Time/Local.pm
Time/gmtime.pm
Time/localtime.pm
Time/tm.pm
UNIVERSAL.pm
User/
User/grent.pm
User/pwent.pm
abbrev.pl
assert.pl
auto/
auto/Text/
auto/Text/ParseWords/
auto/Text/ParseWords/autosplit.ix
auto/Text/ParseWords/old_shellwords.al
auto/Text/ParseWords/quotewords.al
auto/Text/ParseWords/shellwords.al
autouse.pm
bigfloat.pl
bigint.pl
bigrat.pl
blib.pm
cacheout.pl
chat2.pl
complete.pl
constant.pm
ctime.pl
diagnostics.pm
dotsh.pl
dumpvar.pl
exceptions.pl
fastcwd.pl
find.pl
finddepth.pl
flush.pl
ftp.pl
getcwd.pl
getopt.pl
getopts.pl
hostname.pl
importenv.pl
integer.pm
less.pm
lib.pm
locale.pm
look.pl
newgetopt.pl
open2.pl
open3.pl
perl5db.pl
powerpc-machten/
powerpc-machten/5.00404/
powerpc-machten/5.00404/Config.pm
powerpc-machten/5.00404/DB_File.pm
powerpc-machten/5.00404/DynaLoader.pm
powerpc-machten/5.00404/Fcntl.pm
powerpc-machten/5.00404/FileHandle.pm
powerpc-machten/5.00404/GDBM_File.pm
powerpc-machten/5.00404/IO.pm
powerpc-machten/5.00404/IO/
powerpc-machten/5.00404/IO/File.pm
powerpc-machten/5.00404/IO/Handle.pm
powerpc-machten/5.00404/IO/Pipe.pm
powerpc-machten/5.00404/IO/Seekable.pm
powerpc-machten/5.00404/IO/Select.pm
powerpc-machten/5.00404/IO/Socket.pm
powerpc-machten/5.00404/NDBM_File.pm
powerpc-machten/5.00404/Opcode.pm
powerpc-machten/5.00404/POSIX.pm
powerpc-machten/5.00404/POSIX.pod
powerpc-machten/5.00404/SDBM_File.pm
powerpc-machten/5.00404/Safe.pm
powerpc-machten/5.00404/Socket.pm
powerpc-machten/5.00404/auto/
powerpc-machten/5.00404/auto/DB_File/
powerpc-machten/5.00404/auto/DB_File/DB_File.a
powerpc-machten/5.00404/auto/DB_File/autosplit.ix
powerpc-machten/5.00404/auto/DB_File/extralibs.ld
powerpc-machten/5.00404/auto/DynaLoader/
powerpc-machten/5.00404/auto/DynaLoader/DynaLoader.a
powerpc-machten/5.00404/auto/DynaLoader/autosplit.ix
powerpc-machten/5.00404/auto/DynaLoader/dl_expandspec.al
powerpc-machten/5.00404/auto/DynaLoader/dl_find_symbol_anywhere.al
powerpc-machten/5.00404/auto/DynaLoader/dl_findfile.al
powerpc-machten/5.00404/auto/DynaLoader/extralibs.ld
powerpc-machten/5.00404/auto/Fcntl/
powerpc-machten/5.00404/auto/Fcntl/Fcntl.a
powerpc-machten/5.00404/auto/Fcntl/extralibs.ld
powerpc-machten/5.00404/auto/GDBM_File/
powerpc-machten/5.00404/auto/GDBM_File/GDBM_File.a
powerpc-machten/5.00404/auto/GDBM_File/autosplit.ix
powerpc-machten/5.00404/auto/GDBM_File/extralibs.ld
powerpc-machten/5.00404/auto/IO/
powerpc-machten/5.00404/auto/IO/IO.a
powerpc-machten/5.00404/auto/IO/extralibs.ld
powerpc-machten/5.00404/auto/NDBM_File/
powerpc-machten/5.00404/auto/NDBM_File/NDBM_File.a
powerpc-machten/5.00404/auto/NDBM_File/extralibs.ld
powerpc-machten/5.00404/auto/Opcode/
powerpc-machten/5.00404/auto/Opcode/Opcode.a
powerpc-machten/5.00404/auto/Opcode/extralibs.ld
powerpc-machten/5.00404/auto/POSIX/
powerpc-machten/5.00404/auto/POSIX/POSIX.a
powerpc-machten/5.00404/auto/POSIX/abs.al
powerpc-machten/5.00404/auto/POSIX/alarm.al
powerpc-machten/5.00404/auto/POSIX/assert.al
powerpc-machten/5.00404/auto/POSIX/atan2.al
powerpc-machten/5.00404/auto/POSIX/atexit.al
powerpc-machten/5.00404/auto/POSIX/atof.al
powerpc-machten/5.00404/auto/POSIX/atoi.al
powerpc-machten/5.00404/auto/POSIX/atol.al
powerpc-machten/5.00404/auto/POSIX/autosplit.ix
powerpc-machten/5.00404/auto/POSIX/bsearch.al
powerpc-machten/5.00404/auto/POSIX/calloc.al
powerpc-machten/5.00404/auto/POSIX/chdir.al
powerpc-machten/5.00404/auto/POSIX/chmod.al
powerpc-machten/5.00404/auto/POSIX/chown.al
powerpc-machten/5.00404/auto/POSIX/clearerr.al
powerpc-machten/5.00404/auto/POSIX/closedir.al
powerpc-machten/5.00404/auto/POSIX/cos.al
powerpc-machten/5.00404/auto/POSIX/creat.al
powerpc-machten/5.00404/auto/POSIX/div.al
powerpc-machten/5.00404/auto/POSIX/errno.al
powerpc-machten/5.00404/auto/POSIX/execl.al
powerpc-machten/5.00404/auto/POSIX/execle.al
powerpc-machten/5.00404/auto/POSIX/execlp.al
powerpc-machten/5.00404/auto/POSIX/execv.al
powerpc-machten/5.00404/auto/POSIX/execve.al
powerpc-machten/5.00404/auto/POSIX/execvp.al
powerpc-machten/5.00404/auto/POSIX/exit.al
powerpc-machten/5.00404/auto/POSIX/exp.al
powerpc-machten/5.00404/auto/POSIX/extralibs.ld
powerpc-machten/5.00404/auto/POSIX/fabs.al
powerpc-machten/5.00404/auto/POSIX/fclose.al
powerpc-machten/5.00404/auto/POSIX/fcntl.al
powerpc-machten/5.00404/auto/POSIX/fdopen.al
powerpc-machten/5.00404/auto/POSIX/feof.al
powerpc-machten/5.00404/auto/POSIX/ferror.al
powerpc-machten/5.00404/auto/POSIX/fflush.al
powerpc-machten/5.00404/auto/POSIX/fgetc.al
powerpc-machten/5.00404/auto/POSIX/fgetpos.al
powerpc-machten/5.00404/auto/POSIX/fgets.al
powerpc-machten/5.00404/auto/POSIX/fileno.al
powerpc-machten/5.00404/auto/POSIX/fopen.al
powerpc-machten/5.00404/auto/POSIX/fork.al
powerpc-machten/5.00404/auto/POSIX/fprintf.al
powerpc-machten/5.00404/auto/POSIX/fputc.al
powerpc-machten/5.00404/auto/POSIX/fputs.al
powerpc-machten/5.00404/auto/POSIX/fread.al
powerpc-machten/5.00404/auto/POSIX/free.al
powerpc-machten/5.00404/auto/POSIX/freopen.al
powerpc-machten/5.00404/auto/POSIX/fscanf.al
powerpc-machten/5.00404/auto/POSIX/fseek.al
powerpc-machten/5.00404/auto/POSIX/fsetpos.al
powerpc-machten/5.00404/auto/POSIX/fstat.al
powerpc-machten/5.00404/auto/POSIX/ftell.al
powerpc-machten/5.00404/auto/POSIX/fwrite.al
powerpc-machten/5.00404/auto/POSIX/getc.al
powerpc-machten/5.00404/auto/POSIX/getchar.al
powerpc-machten/5.00404/auto/POSIX/getcwd.al
powerpc-machten/5.00404/auto/POSIX/getegid.al
powerpc-machten/5.00404/auto/POSIX/getenv.al
powerpc-machten/5.00404/auto/POSIX/geteuid.al
powerpc-machten/5.00404/auto/POSIX/getgid.al
powerpc-machten/5.00404/auto/POSIX/getgrgid.al
powerpc-machten/5.00404/auto/POSIX/getgrnam.al
powerpc-machten/5.00404/auto/POSIX/getgroups.al
powerpc-machten/5.00404/auto/POSIX/getlogin.al
powerpc-machten/5.00404/auto/POSIX/getpgrp.al
powerpc-machten/5.00404/auto/POSIX/getpid.al
powerpc-machten/5.00404/auto/POSIX/getppid.al
powerpc-machten/5.00404/auto/POSIX/getpwnam.al
powerpc-machten/5.00404/auto/POSIX/getpwuid.al
powerpc-machten/5.00404/auto/POSIX/gets.al
powerpc-machten/5.00404/auto/POSIX/getuid.al
powerpc-machten/5.00404/auto/POSIX/gmtime.al
powerpc-machten/5.00404/auto/POSIX/isatty.al
powerpc-machten/5.00404/auto/POSIX/kill.al
powerpc-machten/5.00404/auto/POSIX/labs.al
powerpc-machten/5.00404/auto/POSIX/ldiv.al
powerpc-machten/5.00404/auto/POSIX/link.al
powerpc-machten/5.00404/auto/POSIX/localtime.al
powerpc-machten/5.00404/auto/POSIX/log.al
powerpc-machten/5.00404/auto/POSIX/longjmp.al
powerpc-machten/5.00404/auto/POSIX/malloc.al
powerpc-machten/5.00404/auto/POSIX/memchr.al
powerpc-machten/5.00404/auto/POSIX/memcmp.al
powerpc-machten/5.00404/auto/POSIX/memcpy.al
powerpc-machten/5.00404/auto/POSIX/memmove.al
powerpc-machten/5.00404/auto/POSIX/memset.al
powerpc-machten/5.00404/auto/POSIX/mkdir.al
powerpc-machten/5.00404/auto/POSIX/offsetof.al
powerpc-machten/5.00404/auto/POSIX/opendir.al
powerpc-machten/5.00404/auto/POSIX/perror.al
powerpc-machten/5.00404/auto/POSIX/pow.al
powerpc-machten/5.00404/auto/POSIX/printf.al
powerpc-machten/5.00404/auto/POSIX/putc.al
powerpc-machten/5.00404/auto/POSIX/putchar.al
powerpc-machten/5.00404/auto/POSIX/puts.al
powerpc-machten/5.00404/auto/POSIX/qsort.al
powerpc-machten/5.00404/auto/POSIX/raise.al
powerpc-machten/5.00404/auto/POSIX/rand.al
powerpc-machten/5.00404/auto/POSIX/readdir.al
powerpc-machten/5.00404/auto/POSIX/realloc.al
powerpc-machten/5.00404/auto/POSIX/remove.al
powerpc-machten/5.00404/auto/POSIX/rename.al
powerpc-machten/5.00404/auto/POSIX/rewind.al
powerpc-machten/5.00404/auto/POSIX/rewinddir.al
powerpc-machten/5.00404/auto/POSIX/rmdir.al
powerpc-machten/5.00404/auto/POSIX/scanf.al
powerpc-machten/5.00404/auto/POSIX/setgid.al
powerpc-machten/5.00404/auto/POSIX/setjmp.al
powerpc-machten/5.00404/auto/POSIX/setuid.al
powerpc-machten/5.00404/auto/POSIX/siglongjmp.al
powerpc-machten/5.00404/auto/POSIX/sigsetjmp.al
powerpc-machten/5.00404/auto/POSIX/sin.al
powerpc-machten/5.00404/auto/POSIX/sleep.al
powerpc-machten/5.00404/auto/POSIX/sprintf.al
powerpc-machten/5.00404/auto/POSIX/sqrt.al
powerpc-machten/5.00404/auto/POSIX/srand.al
powerpc-machten/5.00404/auto/POSIX/sscanf.al
powerpc-machten/5.00404/auto/POSIX/stat.al
powerpc-machten/5.00404/auto/POSIX/strcat.al
powerpc-machten/5.00404/auto/POSIX/strchr.al
powerpc-machten/5.00404/auto/POSIX/strcmp.al
powerpc-machten/5.00404/auto/POSIX/strcpy.al
powerpc-machten/5.00404/auto/POSIX/strcspn.al
powerpc-machten/5.00404/auto/POSIX/strerror.al
powerpc-machten/5.00404/auto/POSIX/strlen.al
powerpc-machten/5.00404/auto/POSIX/strncat.al
powerpc-machten/5.00404/auto/POSIX/strncmp.al
powerpc-machten/5.00404/auto/POSIX/strncpy.al
powerpc-machten/5.00404/auto/POSIX/strpbrk.al
powerpc-machten/5.00404/auto/POSIX/strrchr.al
powerpc-machten/5.00404/auto/POSIX/strspn.al
powerpc-machten/5.00404/auto/POSIX/strstr.al
powerpc-machten/5.00404/auto/POSIX/strtok.al
powerpc-machten/5.00404/auto/POSIX/system.al
powerpc-machten/5.00404/auto/POSIX/time.al
powerpc-machten/5.00404/auto/POSIX/tmpfile.al
powerpc-machten/5.00404/auto/POSIX/tolower.al
powerpc-machten/5.00404/auto/POSIX/toupper.al
powerpc-machten/5.00404/auto/POSIX/umask.al
powerpc-machten/5.00404/auto/POSIX/ungetc.al
powerpc-machten/5.00404/auto/POSIX/unlink.al
powerpc-machten/5.00404/auto/POSIX/utime.al
powerpc-machten/5.00404/auto/POSIX/vfprintf.al
powerpc-machten/5.00404/auto/POSIX/vprintf.al
powerpc-machten/5.00404/auto/POSIX/vsprintf.al
powerpc-machten/5.00404/auto/POSIX/wait.al
powerpc-machten/5.00404/auto/POSIX/waitpid.al
powerpc-machten/5.00404/auto/SDBM_File/
powerpc-machten/5.00404/auto/SDBM_File/SDBM_File.a
powerpc-machten/5.00404/auto/SDBM_File/extralibs.ld
powerpc-machten/5.00404/auto/Socket/
powerpc-machten/5.00404/auto/Socket/Socket.a
powerpc-machten/5.00404/auto/Socket/extralibs.ld
powerpc-machten/5.00404/auto/Text/
powerpc-machten/5.00404/auto/Text/ParseWords/
powerpc-machten/5.00404/auto/sdbm/
powerpc-machten/5.00404/auto/sdbm/extralibs.ld
powerpc-machten/5.00404/ops.pm
powerpc-machten/5.00404/overload.pm
powerpc-machten/5.00404/pod/
powerpc-machten/5.00404/pod/perldiag.pod
pwd.pl
shellwords.pl
sigtrap.pm
site_perl/
site_perl/powerpc-machten/
site_perl/powerpc-machten/Dbg.ph
site_perl/powerpc-machten/FlexLexer.ph
site_perl/powerpc-machten/a.out.ph
site_perl/powerpc-machten/alloca.ph
site_perl/powerpc-machten/ansidecl.ph
site_perl/powerpc-machten/ar.ph
site_perl/powerpc-machten/assert.ph
site_perl/powerpc-machten/bitstring.ph
site_perl/powerpc-machten/cfm.ph
site_perl/powerpc-machten/compat.ph
site_perl/powerpc-machten/ctype.ph
site_perl/powerpc-machten/curses.ph
site_perl/powerpc-machten/db.ph
site_perl/powerpc-machten/dirent.ph
site_perl/powerpc-machten/disktab.ph
site_perl/powerpc-machten/dlfcn.ph
site_perl/powerpc-machten/err.ph
site_perl/powerpc-machten/errno.ph
site_perl/powerpc-machten/eti.ph
site_perl/powerpc-machten/expect.ph
site_perl/powerpc-machten/expect_cf.ph
site_perl/powerpc-machten/expect_comm.ph
site_perl/powerpc-machten/expect_tcl.ph
site_perl/powerpc-machten/f2c.ph
site_perl/powerpc-machten/fcntl.ph
site_perl/powerpc-machten/float.ph
site_perl/powerpc-machten/fnmatch.ph
site_perl/powerpc-machten/form.ph
site_perl/powerpc-machten/frame.ph
site_perl/powerpc-machten/fstab.ph
site_perl/powerpc-machten/fts.ph
site_perl/powerpc-machten/gdbm.ph
site_perl/powerpc-machten/glob.ph
site_perl/powerpc-machten/grp.ph
site_perl/powerpc-machten/histedit.ph
site_perl/powerpc-machten/kvm.ph
site_perl/powerpc-machten/libintl.ph
site_perl/powerpc-machten/limits.ph
site_perl/powerpc-machten/locale.ph
site_perl/powerpc-machten/malloc.ph
site_perl/powerpc-machten/math.ph
site_perl/powerpc-machten/memory.ph
site_perl/powerpc-machten/menu.ph
site_perl/powerpc-machten/mount.ph
site_perl/powerpc-machten/mpool.ph
site_perl/powerpc-machten/ncurses.ph
site_perl/powerpc-machten/ndbm.ph
site_perl/powerpc-machten/netdb.ph
site_perl/powerpc-machten/nlist.ph
site_perl/powerpc-machten/panel.ph
site_perl/powerpc-machten/paths.ph
site_perl/powerpc-machten/pef.ph
site_perl/powerpc-machten/pthread.ph
site_perl/powerpc-machten/pwd.ph
site_perl/powerpc-machten/ranlib.ph
site_perl/powerpc-machten/regex.ph
site_perl/powerpc-machten/regexp.ph
site_perl/powerpc-machten/resolv.ph
site_perl/powerpc-machten/rune.ph
site_perl/powerpc-machten/runetype.ph
site_perl/powerpc-machten/rx.ph
site_perl/powerpc-machten/setjmp.ph
site_perl/powerpc-machten/sgtty.ph
site_perl/powerpc-machten/signal.ph
site_perl/powerpc-machten/stab.ph
site_perl/powerpc-machten/stdarg.ph
site_perl/powerpc-machten/stddef.ph
site_perl/powerpc-machten/stdio.ph
site_perl/powerpc-machten/stdlib.ph
site_perl/powerpc-machten/string.ph
site_perl/powerpc-machten/strings.ph
site_perl/powerpc-machten/struct.ph
site_perl/powerpc-machten/sys/
site_perl/powerpc-machten/sys/AppleSingle.ph
site_perl/powerpc-machten/sys/acct.ph
site_perl/powerpc-machten/sys/bkmac.ph
site_perl/powerpc-machten/sys/buf.ph
site_perl/powerpc-machten/sys/callout.ph
site_perl/powerpc-machten/sys/cdefs.ph
site_perl/powerpc-machten/sys/clist.ph
site_perl/powerpc-machten/sys/cmap.ph
site_perl/powerpc-machten/sys/cmupty.ph
site_perl/powerpc-machten/sys/cmusyscall.ph
site_perl/powerpc-machten/sys/conf.ph
site_perl/powerpc-machten/sys/dir.ph
site_perl/powerpc-machten/sys/dirent.ph
site_perl/powerpc-machten/sys/diskdev.ph
site_perl/powerpc-machten/sys/disklabel.ph
site_perl/powerpc-machten/sys/display.ph
site_perl/powerpc-machten/sys/dk.ph
site_perl/powerpc-machten/sys/dkbad.ph
site_perl/powerpc-machten/sys/dkstat.ph
site_perl/powerpc-machten/sys/dli.ph
site_perl/powerpc-machten/sys/domain.ph
site_perl/powerpc-machten/sys/enet.ph
site_perl/powerpc-machten/sys/errno.ph
site_perl/powerpc-machten/sys/exec.ph
site_perl/powerpc-machten/sys/fcntl.ph
site_perl/powerpc-machten/sys/fe.ph
site_perl/powerpc-machten/sys/file.ph
site_perl/powerpc-machten/sys/filio.ph
site_perl/powerpc-machten/sys/filsys.ph
site_perl/powerpc-machten/sys/fpsconf.ph
site_perl/powerpc-machten/sys/fpsreg.ph
site_perl/powerpc-machten/sys/fs.mach.ph
site_perl/powerpc-machten/sys/fs.ph
site_perl/powerpc-machten/sys/gprof.ph
site_perl/powerpc-machten/sys/ieeefp.ph
site_perl/powerpc-machten/sys/ild.ph
site_perl/powerpc-machten/sys/imp.ph
site_perl/powerpc-machten/sys/inode.ph
site_perl/powerpc-machten/sys/inode_macros.ph
site_perl/powerpc-machten/sys/ioccom.ph
site_perl/powerpc-machten/sys/ioctl.ph
site_perl/powerpc-machten/sys/ioctl_compat.ph
site_perl/powerpc-machten/sys/ipc.ph
site_perl/powerpc-machten/sys/jioctl.ph
site_perl/powerpc-machten/sys/kernel.ph
site_perl/powerpc-machten/sys/kinfo.ph
site_perl/powerpc-machten/sys/ldr.ph
site_perl/powerpc-machten/sys/lock.ph
site_perl/powerpc-machten/sys/lockf.ph
site_perl/powerpc-machten/sys/mac_resource.ph
site_perl/powerpc-machten/sys/mac_startinfo.ph
site_perl/powerpc-machten/sys/mac_stat.ph
site_perl/powerpc-machten/sys/mac_toolbox_syscall.ph
site_perl/powerpc-machten/sys/malloc.ph
site_perl/powerpc-machten/sys/map.ph
site_perl/powerpc-machten/sys/mbuf.ph
site_perl/powerpc-machten/sys/mman.ph
site_perl/powerpc-machten/sys/mount.ph
site_perl/powerpc-machten/sys/msg.ph
site_perl/powerpc-machten/sys/msgbuf.ph
site_perl/powerpc-machten/sys/mtio.ph
site_perl/powerpc-machten/sys/multibind.ph
site_perl/powerpc-machten/sys/namei.ph
site_perl/powerpc-machten/sys/param.ph
site_perl/powerpc-machten/sys/proc.ph
site_perl/powerpc-machten/sys/procsegs.ph
site_perl/powerpc-machten/sys/protosw.ph
site_perl/powerpc-machten/sys/ptrace.ph
site_perl/powerpc-machten/sys/queue.ph
site_perl/powerpc-machten/sys/quota.ph
site_perl/powerpc-machten/sys/reboot.ph
site_perl/powerpc-machten/sys/res_perms.ph
site_perl/powerpc-machten/sys/resource.ph
site_perl/powerpc-machten/sys/select.ph
site_perl/powerpc-machten/sys/sem.ph
site_perl/powerpc-machten/sys/shm.ph
site_perl/powerpc-machten/sys/signal.ph
site_perl/powerpc-machten/sys/signalvar.ph
site_perl/powerpc-machten/sys/socket.ph
site_perl/powerpc-machten/sys/socketvar.ph
site_perl/powerpc-machten/sys/sockio.ph
site_perl/powerpc-machten/sys/specdev.ph
site_perl/powerpc-machten/sys/stat.ph
site_perl/powerpc-machten/sys/supercache.ph
site_perl/powerpc-machten/sys/suser.ph
site_perl/powerpc-machten/sys/sys_dep.ph
site_perl/powerpc-machten/sys/syscall.ph
site_perl/powerpc-machten/sys/sysctl.ph
site_perl/powerpc-machten/sys/syslimits.ph
site_perl/powerpc-machten/sys/syslog.ph
site_perl/powerpc-machten/sys/systm.ph
site_perl/powerpc-machten/sys/table.ph
site_perl/powerpc-machten/sys/tablet.ph
site_perl/powerpc-machten/sys/termios.ph
site_perl/powerpc-machten/sys/text.ph
site_perl/powerpc-machten/sys/time.ph
site_perl/powerpc-machten/sys/timeb.ph
site_perl/powerpc-machten/sys/times.ph
site_perl/powerpc-machten/sys/trace.ph
site_perl/powerpc-machten/sys/tty.ph
site_perl/powerpc-machten/sys/ttychars.ph
site_perl/powerpc-machten/sys/ttycom.ph
site_perl/powerpc-machten/sys/ttydefaults.ph
site_perl/powerpc-machten/sys/ttydev.ph
site_perl/powerpc-machten/sys/ttyloc.ph
site_perl/powerpc-machten/sys/types.ph
site_perl/powerpc-machten/sys/ucred.ph
site_perl/powerpc-machten/sys/uio.ph
site_perl/powerpc-machten/sys/un.ph
site_perl/powerpc-machten/sys/unistd.ph
site_perl/powerpc-machten/sys/unpcb.ph
site_perl/powerpc-machten/sys/user.ph
site_perl/powerpc-machten/sys/utsname.ph
site_perl/powerpc-machten/sys/vadvise.ph
site_perl/powerpc-machten/sys/vcmd.ph
site_perl/powerpc-machten/sys/version.ph
site_perl/powerpc-machten/sys/vfs.ph
site_perl/powerpc-machten/sys/viceioctl.ph
site_perl/powerpc-machten/sys/vicermt.ph
site_perl/powerpc-machten/sys/visual.ph
site_perl/powerpc-machten/sys/vlimit.ph
site_perl/powerpc-machten/sys/vm.ph
site_perl/powerpc-machten/sys/vmmac.ph
site_perl/powerpc-machten/sys/vmmeter.ph
site_perl/powerpc-machten/sys/vmparam.ph
site_perl/powerpc-machten/sys/vnode.ph
site_perl/powerpc-machten/sys/vsio.ph
site_perl/powerpc-machten/sys/vtimes.ph
site_perl/powerpc-machten/sys/wait.ph
site_perl/powerpc-machten/sysexits.ph
site_perl/powerpc-machten/syslog.ph
site_perl/powerpc-machten/tar.ph
site_perl/powerpc-machten/tcl.ph
site_perl/powerpc-machten/term.ph
site_perl/powerpc-machten/termcap.ph
site_perl/powerpc-machten/termios.ph
site_perl/powerpc-machten/time.ph
site_perl/powerpc-machten/tk.ph
site_perl/powerpc-machten/ttyent.ph
site_perl/powerpc-machten/tzfile.ph
site_perl/powerpc-machten/unctrl.ph
site_perl/powerpc-machten/unistd.ph
site_perl/powerpc-machten/utime.ph
site_perl/powerpc-machten/utmp.ph
site_perl/powerpc-machten/varargs.ph
site_perl/powerpc-machten/vis.ph
site_perl/powerpc-machten/zconf.ph
site_perl/powerpc-machten/zlib.ph
site_perl/powerpc-machten/zutil.ph
stat.pl
strict.pm
subs.pm
syslog.pl
tainted.pl
termcap.pl
timelocal.pl
validate.pl
vars.pm

Page last updated 12/28/1999

http://www.tenon.com/support/webten/papers/webten-perl-cgi.html