SYNOPSIS<varinfo $action [flags ...] [$arg]>
DESCRIPTION
The varinfo function returns various information about
variables, depending on the value of the $action argument:
list 
    Returns the names of all known variables in the current scope.
    This includes unlisted environment/CGI variables only accessible
    via getvar.  If the optional $arg argument is given,
    then only variables from a specific source will be returned:
    URL for URL (query string) variablesENV for environment variablesCONTENT for POST method form variablesCGI for POST and/or query-string variablesCOOKIE for cookie variables
    getvar
    to obtain its value(s).size 
    Returns the size in bytes of each corresponding value of the
    variable named by $arg.  This is useful to obtain the true
    size of a varbyte variable such as an image, where
    strlen might stop short.type 
    Returns the SQL type of the variable named by $arg, as a string.
    The type action was added in version 2.6.929000000 19990610.dump 
    Returns debug information about the variable named by $arg,
    as a string.  This information is in the same format as printed by
    the $?myVar debug syntax (here).
    Accessing debug info via <varinfo dump> can be used when
    the variable name must be determined dynamically at run-time,
    precluding usage of the easier (but static-name) $?myVar
    syntax.  Added in version 6.dumpverbose
    Like dump, but more verbose: uses the $??myVar
 syntax.  Added in version 6.  In version 7.03 and later, this is
 deprecated: use <varinfo dump verbose ...> instead.
The following actions are applicable only to <INPUT TYPE=file>
variables from a multipart MIME file upload (here).
For any other variables, nothing is returned:
filename 
    Returns the filename for the variable named by $arg, from
    the Content-Disposition header.  This corresponds to the
    name of the file the user gave for that field, from their system.
    Note that the full path is generally not available; only the
    filename is usually sent by the browser.contenttype 
    Returns the Content-Type for the variable given by $arg.
 In version 7.03 and later, the following flags may be set before the
 final $arg argument.  Currently they are only valid for the
 dump and dumpverbose actions:
esc
    Force HTML-escapement of variable values printed by dump,
    regardless of HTML mode.
noesc
    Force as-is (no HTML escapement) printing of variable values
    printed by dump.  By default, HTML escapement happens if
    the script is in HTML mode; using this flag may be useful to avoid
    escapement when an HTML-mode Web script is being debugged to a log
    file that is being read as plain text.
verbose
    Dump variables in verbose mode (ala $??myVar).
DIAGNOSTICS
The varinfo function returns various information about variables,
per its arguments.
EXAMPLE<A NAME=main>
  <FORM METHOD=post ACTION="$url/test.html"
        ENCTYPE="multipart/form-data">
    Image: <INPUT TYPE=file NAME=image>
    <INPUT TYPE=submit NAME=submit>
  </FORM>
</A>
<A NAME=test>
  <varinfo list CGI>
  Form variables are: <LOOP $ret> $ret </LOOP> <BR>
  <varinfo filename "image">
  You uploaded the file "$ret".
  <varinfo contenttype "image">
  It is of type "$ret" and
  <varinfo size "image"> $ret bytes in size.
</A>
CAVEATS
The varinfo function was added in version 2.6.926900000 19990517.
  The size of variables is the size of the native type, not the
string representation as strlen would return.  E.g. integer vars
on a 32-bit machine will always have a size of 4.
  While the list cgi action will return CGI variable names,
their values, obtained with the getvar function, may be
different if the variable(s) have been modified.  Similarly, the
filename and contenttype of variables may not correspond
to their current values, if they were modified.
SEE ALSOgetvar