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.
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.|
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.
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>