Webhosting Perl and CGI Scripts

From AAISP Support Site

You can upload scripts to anywhere on your web site. You can make a cgi-bin directory if you like, but scripts can be included anywhere on your web site.

Simple shell scripts can start with #!/bin/sh, #!/bin/bash, or (if you must) #!/bin/csh (but see why you should not)

For Perl, the script should start with #!/usr/bin/perl

Python is not available.

Particularly for scripts uploaded from windows machines, please upload in ASCII mode not BINARY.

Within the script, the mail program used for sending mail is /usr/lib/sendmail . You should not use this with the -t argument (which find the From and To in the email) but use -f 'from-email-address' 'to-email-address' in place of the -t argument.

A simple mailer is available - Webhosting Form Mailer

There are various Perl scripts available on the internet, and many books on the subject. You do not have access to php or mysql on the server, and you may have to change the use of sendmail as above.

Environment Variables

Your scripts have access to the following environment variables :-

QUERY_STRING The query string (bit after the ? in the URI)
PATH_INFO If after the script there is a / and more of a path then this is that path
PARAMS The parameters (bit after a ; in the URI)
REQUEST_METHOD PUT or GET
REQUEST_URI The URI (web page) requested
HTTP_HOST Host: header contents Your web site name
HTTP_AGENT User-Agent: header contents The browser being used
CONTENT_TYPE Content-type: header contents Used for form postings
CONTENT_LENGTH Content-length: header contents Number of bytes in PUT file
SCRIPT_NAME The name of the script being run
HTTP_COOKIE Cookie: header contents
HTTP_FROM From: header contents
HTTP_REFERER Referrer: header contents The page this link came from
REMOTE_USER If a login was required, this is set to theuser name
REMOTE_ADDR The remote IP address.This could be an IP6 or IP4 address.

Further Notes

The output from the script must include Content-Type: header and may include other headers then a blank line and the contents. The only exception is a redirection in which case it can just contain the Location: header.

Error Log

If you have a file called errlog.txt in the top level, then any error output from any scripts on your site is appended to this file. This is useful for debugging.


Other Webhosting pages

<ncl style=bullet maxdepth=5 headings=bullet headstart=2 showcats=1 showarts=1>Category:Webhosting</ncl>