CGI_Lite v1.8
-------------

You can use this module to decode form and query information,
including file uploads, as well as cookies in a very simple
manner; you need not concern yourself with the actual details
behind the decoding process.

Here are the changes for this version:

 Removed $` and $' from the code, and "optimized" an important regexp.
 As a result, the module is much more efficient. Fixed a minor bug in
 multipart boundary parsing. Corrected an error when storing a key that
 has multiple values which caused more than one array to be allocated.
 Just a note: if you call get_multiple_values method with a scalar
 value, the method no longer returns an undef, but the value itself.

 As of this version, you can pass a request method (optional) to the
 parse_form_data method. This gives you a bit more flexibility when
 dealing with forms.

 The set_file_type method now works as it should. In earlier versions,
 CGI_Lite created "handles" in all cases. Added the close_all_files
 method to close uploaded files that are opened as a result of passing
 "handle" to set_file_type.

 The print_form_data and print_cookie_data are deprecated as of this
 version, but have not been removed (for compatibility reasons). It's
 better to use the print_data method, which prints the key/value pairs
 in the order they were parsed. As a side effect of this change,
 if you want to parse form data and cookies in an application,
 you have to create two instances of the CGI_Lite object, which
 only makes sense.

 Added the get_ordered_keys method which will return the list
 of _keys_ in the order in which they were parsed. Modified the
 wrap_textarea method; it now works properly.

 Also, added the add_mime_type, remove_mime_type and get_mime_types
 methods to deal with EOL translation based on MIME types. Added
 the filter_filename method to alter the way in which uploaded
 files are named. Added the add_timestamp method which allows you
 to turn off timestamps on uploaded files. NOTE: CGI_Lite no longer
 returns the full path of the uploaded file, but simply, the file name.

 Added a set of miscellaneous functions: browser_escape, url_encode,
 url_decode, is_dangerous, escape_dangerous_chars. CGI_Lite now handles
 errors better; you can use the newly implemented is_error, and
 get_error_message methods. I've bought back the return_error
 method, which you can use to return errors to the browser and
 exit. However, this method no longer outputs the HTTP header,
 as it did in versions prior to v1.7.

 In addition, this version allows you to debug your CGI scripts
 "offline" by letting you pass query information through standard
 input. I got this idea from CGI.pm, though it's handled a bit
 differently. Thanks Lincoln!

Enjoy!

Shishir Gundavaram
[email protected]
May 10, 1997