C h a n g e L o g   o f   e P e r l
  ___________________________________________________________________________

  Changes between 2.2b8 and 2.2b9
  -------------------------------

  970623 o added docs about #elsif to eperl.pod and NEWS file
  970628 o added VERSIONS file with ePerl history
         o shit happens: the preprocessor parsing had
           nasty bugs where a string "#include" somewhere
           in the text leads to a total skip of all
           real "^#include" directives :-(

  Changes between 2.2b7 and 2.2b8
  -------------------------------

  970615 o added hint about Options +ExecCGI
           to mod/Apache/ePerl.pm
         o split the ChangeLog file into seperated files
         o added old stuff from 2.1.2 to end of NEWS file
         o created a KNOWN.BUGS file
         o created a INSTALL.NSAPI
         o slightly fixed the POD in mod/Apache/ePerl.pm
         o created a new set of demo files in eg/
         o fixed some README headers
  970620 o created a contrib/ dir and initially
           started to write a shtml2phtml script
           which converts (X)SSI to ePerl
         o fixed tabs in top-level Makefile
  970622 o changed red colors to blue ones in error page
         o added the new powered-by-ePerl image
           which can be retrieved via URL nph-eperl/powered.gif
         o added del2del script to contrib/
         o added a #elsif to the preprocessor

  Changes between 2.2b6 and 2.2b7
  -------------------------------

  970602 o now etc/newvers always removes /tmp/genopt 
           [Thanks to Phil Ritzenthaler <phil@cgrg.ohio-state.edu>
            for hint]
         o now configure determines the full 
           operating system id from Perl's Config.pm
  970604 o set -Wl,-woff 85 only for IRIX 6.x because
           IRIX 5.x hates this option..
           [Thanks to Ewan McPhail <ewan@epages.iafrica.com> and
            Phil Ritzenthaler <phil@cgrg.ohio-state.edu> for hint]
         o fixed the preprocessor: the inital searching
           of the directives was broken, only worked
           when a specific order was used. So some
           directives were skipped :-(
         o added a #sinclude (secure include) directive
           which is the same as #include but removes
           all begin and end delimiters, so this one
           is a secure way of including stuff from 
           foreign servers.
         o rewritten the preprocessor part of eperl.pod

  Changes between 2.2b5 and 2.2b6
  -------------------------------

  970601 o added a #c preprocessor directive
           to be able to comment out stuff
           (even to use "#c #include..." to
           disable an include directive)
           [Thanks to J. Douglas Dunlop for hint]
         o now the preprocessor checks the
           HTTP response code when http://..
           is uses as the file:
           - when 301 and 302 are returned
             it searches for the new URL in the Location-header 
             and restarts with this one
           - when a response code other
             than 200 (OK) is returned it fails the same way 
             as it fails when a local file it not found: 
             with an error.
           [Thanks to J. Douglas Dunlop for hint]
         o removed the Bash check in configure
           because this it not used 

  Changes between 2.2b4 and 2.2b5
  -------------------------------

  970530 o fixed perlvers -> perl_vers stuff
         o fixed again problem with VERSION stuff:
           ePerl.pm's were broken (ARGL!)

  Changes between 2.2b3 and 2.2b4
  -------------------------------

  970529 o fixed preprocessor: #include only
           valid at column 0, i.e. at start of line
         o added a test 08 for the preprocessor
         o now any characters are skipped at end 
           of #include lines up to the newline
         o added new parsing feature:
           "_" as the last non-whitespace command disables the automatic
           adding of the final semicolon. This is to be able to writeo
           <: if { :> ... <: } :> etc.
         o added new optional(!) parsing feature
           which is per-default disabled(!): "\" directly before a newline
           character outside ePerl blocks prevent the newline to be printed,
           i.e. the line is continued in the output
           This feature can be turned on via new option -L.
         o added new parsing feature: 
           when an end delimiter is directly followed by ``//''
           this discards all data up to and including the following
           newline.
         o added three new commands to preprocessor
           which gets converted to ePerl blocks:
           ``#if expr'' -> ``<: if (expr) { _:>//'
           ``#else''    -> ``<: } else { _:>//''
           ``#endif''   -> ``<: } _:>//''
         o imported the patch from ePerl 2.1.2 which
           fixes a problem under non-GCC compilers
           with a semicolon in eperl_security.h
         o removed the sin_len stuff
  970530 o !! Essential Change !!
           configure now imports all essential compilation
           flags from Perl's Config.pm, including the compiler.
           This is necessary to make ePerl work even under
           HP-UX and IRIX where they need the special compiler
           and special compiler flags. The point is that
           Perl already determined the correct flags, so
           we can use it.
         o changed C++ style comments in
           eperl_parse.c to C style
         o fixed a missing "int" in eperl_sys.c 
         o renamed eperl_getopt.c to original
           eperl_egetopt.c and make the namespace
           clean, i.e. renamed optXXX to egetopt_optXXX.
           This is needed at least for IRIX
         o changes egetopt() slightly
         o replaced the old egetopt() by the GNU getopt()
           because egetopt() was broken under some
           systems like IRIX.
         o option -h now never displays the version
         o added a missing semicolon in mod/Parse/ePerl.pm
         o renamed and fixed mod/Parse/t/04_compile.t 
         o now etc/newvers resets the LANG variable
           to prevent LOCALE warnings
         o provided an own copy of perl_eval_pv() which
           is too new. It was introduced in Perl 5.003_97e.
           Now plain old Perl 5.003 will work again.
         o the Perl 5 interface modules can only be
           used with Perl 5.003_90 or higher because
           of the TIEHANDLE stuff which is not working
           in prior releases.
         o fixed update-version target in Makefile.i

  Changes between 2.2b2 and 2.2b3
  -------------------------------
  
  970521 o fixed NEWS and ANNOUNCE files o spellchecked 
           INSTALL, INSTALL.APACHE and eperl.pod
  970522 o fixed eperl.pod =back stuff and added a paragraph 
           about software leverage.
  970523 o added reference for Parse::ePerl and Apache::ePerl
           to eperl.pod
         o changed abstract in all source files
  970525 o ** added new option -P for an own #include preprocessor. **
         o added new option -I: same as for "perl" to
           add directories to @INC and preprocessor
  970526 o ** added support for URLs to #include **
         o added a kludge to etc/newvers for systems
           like BSDI where no "getopt" program is available
  970527 o added Parse::ePerl::Preprocess which is the
           interface to the new preprocessor
         o added six new environment variables:
           SCRIPT_SRC_PATH, SCRIPT_SRC_PATH_DIR and SCRIPT_SRC_PATH_FILE
           SCRIPT_SRC_URL, SCRIPT_SRC_URL_DIR and SCRIPT_SRC_URL_FILE
         o fixed a long-standing bug: temporary files were 
           not removed :-(
         o added new option -C for HTML entity conversions 
           inside ePerl blocks. This is for people who
           use HTML editors which have now knowledge of ePerl code.
  970529 o slightly fixed eperl.pod at some places

  Changes between 2.2b1 and 2.2b2
  -------------------------------

  970518 o fixed ``make install UNINST=1'' case
           for Makefile.PL
  970520 o added more POD to Apache::ePerl

  Changes between 2.2a2 and 2.2b1
  -------------------------------

  970505 o again reorganized the source
           code and renamed a lot of
           functions.
         o created modules/ with h2xs
           for a Parse::ePerl module
         o created generation of libeperl.a
           containing shared objects for
           Parse::ePerl
  970506 o created a top-level Makefile.PL
           for faking a MakeMaker distribution
  970509 o created a Apache::ePerl module
  970510 o added option -i for making the
           delimiters case-sensitive in more
           explicit way
  970511 o added t/05* to Parse::ePerl
           and made delimiter case variable
  970513 o enhanced Parse::ePerl and 
           finished Apache::ePerl
  970515 o fixed tests 4 and 5 for non-Bash users
           and fixed a char/int problem in eperl_main.c
           and eperl_sys.c
           [Thanks to Jarom Smith <jarom@jarom-indy.prophet.com>]
  970516 o finished Apache::ePerl and Parse::ePerl
  970517 o added a INSTALL.APACHE which describes the
           installation of ePerl as an SSSL under Apache

  Changes between 2.2a1 and 2.2a2
  -------------------------------

  970504 o removed -s and added -m 755 
           to install in configure
         o optimized the parser; no 
           ``print "";'' constructs are
           never created which at least slightly 
           speeds up processing.

  Changes between 2.2a0 and 2.2a1
  -------------------------------

  970503 o now the begin and end delimiters are searched
           case-insensitive.
         o added -h for displaying the usage list.
           Just to be consequent with options.
         o added leading and trailing whitespaces
           for Perl blocks when translating the source file
           to make the -x display more readable.

  Changes between 2.1.1 and 2.2a0
  -------------------------------

  970502 o added support for '=' prefix: now <:= ... :>
           automatically gets converted to "print ...".  Now one
           can interpolate variables in a more shorter way via
           <?=$variable!> instead of the long <?  print
           $variable; !> (in conjunction with the next
           enhancements)
         o now ePerl is much smarter when converting the ePerl
           blocks, i.e. it now recognizes final semicolons and
           automatically puts one if missing. Now <: cmd;cmd :>
           is also valid.
         o Whitespaces are not only stripped
           from the beginning of a ePerl block. Now
           they are stripped from the end, too.
         o !!CHANGED THE PARSING AGAIN!!
           Now again (as in 2.0.3) ePerl block end delimiters are
           found via plain forward search. No quoted strings are
           recognized.  The reason is that constructs with odd
           number of quoting characters are more often seen than
           end delimiters in quoted string. And one more fact: It
           is easier to escape the end delimiter in a quotes
           string (e.g.  via backslahes) than to rewrite a
           complex construct (e.g.  m|"[^"]+"| !!).
         o added -T (Tainting) and -w (Warnings) options
           which can be used like the same in "perl".
         o added alpha and snap releases to NEWVERS