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
shishir@ora.com
May 10, 1997
