#set TITLE = "QUISP variables"
#include top


#include space

.SH Variables
QUISP uses variables.  QUISP variables can be set by incoming CGI user variables (in the URL or
submitted via a POST operation).  They can also be set within a script using the \fC#set\fR
directive.  When a variable's contents are being displayed or referenced the variable name
is written beginning with an at-sign (@).

.LP
Variable names must begin with a letter and may contain letters, digits, and underscore.
(Variable names originating from an sql join result will contain an embedded period.)
Names are case-sensitive.  Maximum length of a variable name is 38 characters.
Variables are delimited by whitespace and any punctuation character except underscore and period
(so something like \fC @a.@b \fR will not work because the period is taken
to be part of the variable name).
.LP
Variables may hold numbers, alphanumerics, or 
#set FILE = "commalist.html"
#set TAG = "lists,"
#include link
but are always stored in alphanumeric form, with a maximum content length is 250 characters.
All variables are global in scope across page templates within a process.
.LP
An at-sign (\fC@@\fR) is used at the beginning of a variable name when its contents 
are to be displayed or referenced.
Otherwise, the at-sign should not be used.
Examples:
.nf
        \0Hello, my name is @@NAME
        \0#set NAME = "Harvey Smith"
	\0#if @mode = 2
.fi

.LP
An attempt to display or reference the contents of a variable that has never been assigned a value
will result in cancellation of the evaluation (the variable name will be
displayed transparently) and no error condition will be raised.

#include space
.SH Special variables
The following special variables exist:
.LP
\fB@@CGIPROG\fR . . . the full path name of the QUISP cgi executable.  
#set FILE = "links.html"
#set TAG = "More info"
#include link
.LP
\fB@@HTMLURL\fR . . . the URL of a directory where static HTML, images, etc. reside
#set FILE = "links.html"
#set TAG = "More info"
#include link
.LP
\fB@@HTMLPATH\fR . . . the file system path name equivalent of HTMLURL 
#set FILE = "shell.html"
#set TAG = "More info"
#include link
.LP
\fB@@PROJDIR\fR . . . the file system path name of your project directory
#set FILE = "shell.html"
#set TAG = "More info"
#include link
.LP
\fB@@QUISP_VERSION\fR . . . the version of QUISP that you are running

#include bottom
