The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.3.0

  • Corrected a wrong test, that let make test fail. Spotted by Eddie Lau.
  • Added a Line Feed at the end of epnames.h, which has caused some problems with on old SunOS compiler. Spotted by Roman Maeder.
  • Fixed a problem that Perl generated an error when $req_rec and [$ var $] was used. Spotted by Michael Stevens.
  • =head1 1.3b7 (BETA) 15. Nov 2000
    • Fixed problem that the call to close triggers error in Session.pm when using Store::File. Spotted by Alvar Freude.
    • Fixed problem that GetSession doesn't return a value for new session. Spotted by Angus Lees.
    • Added new function SetSessionCookie, which can be used to set the session cookie header in case you use Embperl session management, but don't use a Embperl page in that request. Suggested by Alex Schmelkin.
    • Fixed problem that DeleteSession does not work outside the base template, when used with EmbperlObject. Spotted by Angus Lees.
    • Fixed problem when use multiple nested ../foo.htm inside EmbperlObject. Spotted by Neil Gunton.
    • Included patch from Angus Lees to ease building on debian.
    • make test now works again with BEN-SSL httpsd. With help from Neil Gunton.
    • Included grammaticaly updated Embperl.pod. Many thanks to Ilia Lobsanov for doing the proof reading.
    • removed dbgDisableCache to avoid problems with this "feature" that isn't working anymore for a long time.
    • Added validaten for session cookie. If Apache::Session 1.53+ is installed it uses the validate method from Apache::Session::Generate::xxx. If a invalid session id is found a new one is generated. Spotted by Angus Lees.
    • If a not existing session id is received, Embperl generates now a new one.
    • Enhancements of Cookie resending logic. To make sure cookies are send when neccessary, but not more often. (Handles now write to session data, after a delete in the same request correctly).
    • Added more tests for Sessionhandling.
    • Fixed a bug that Content-Lenght was 2 to much, when escmode was set to zero. Spotted by Michael Smith.
    • Added patches from Randy Korbes for ActiveState Support. Most tests with Embperl under mod_perl nows passes. The few remaining ones that doesn't pass seems to be due to problems of mod_perl's enironment handling.
    • Droped support for Apache::Session 0.17. Embperl now support only Apache::Session 1.00 and higher.
    • Added new option: optDisableSelectScan, to allow processing of SELECT tags, while processing of TABLE tags is disabled. Suggested by Robert.
    • Carridge Returns are only removed for Perl 5.004. This makes using of HERE documents possible on Perl 5.005+, even if the documents has CRLF as lineendings.
  • =head1 1.3b6 (BETA) 18. Oct 2000
    • Embperl now runs on ActiveState Perl. (At least in offline mode, mod_perl mode seems to still have some problems). With a lot of help from Randy Korbes.
    • Changed EmbperlObject search order:
      • If EMBPERL_OBJECT_STOPDIR is set, this directory is taken as the last directory in the normal search path, instead of the directory where the base template (EMBPERL_OBJECT_BASE) is found.
      • EMBPERL_OBJECT_ADDPATH is _always_ added to the search path
      • Now Embperl also searches the path for files like ../foo.html, or bar/foo.html, which includes a relative path.
    • ../* is now a shortcut for the requested file, but in the parent directory (or upper depending on the search path)
    • Added access to Embperl session handling for modules and calling scripts (see SetupSession and GetSession)
    • Embperl is now able to output binary data if EMBPERL_ESCMODE and/or $escmode is zero. This also include that no CRLF is added at the end of the file, if escmode is zero.
    • Added method for deleting session data and cookie
    • Added method for triggering resend of session cookie.
    • Added Test for pnotes ('EMBPERL_ERRORS')
    • Added hash %CLEANUPFILE. All variables defined into the files given in this hash, are also cleanup at the end of the request. Patch from Todd Eigenschink.
    • Changed the way the C Requestobject is attached to the Perlobject, so it should now also work on 64Bit Processor like Alpha. Spotted by Andre Landwehr.
    • Fixed a problem with importing files that contains foreach and do until loops, which may caused a syntax error or endless loop. Spotted by Steffen Geschke.
    • embpcgi* and embpexec* are now geratated out of *.templ instead of editied in place to avoid problems with cvs conflicts and lower/uppercase on Win32. Suggest by Jens-Uwe Mager.
    • make test works with Apache that has mod_jserv compiled in
    • Embperl now cache same files with relative path, which are located in different directories correctly.
  • =head1 1.3b5 (BETA) 20. Aug 2000
    • Embperl now supports Apache::Session 1.52. See "Session handling" in the docs, how the setup has changed.
    • Fixed a problem with POSTed data, which had got lost for the first, request when using EmbperlObject handler. Spotted by Kaare Rasmussen.
    • Fixed a typo in HTML::Embperl::Mail, spotted by Robert.
    • changed require to use HTML::Embperl in EmbperlObject to avoid problems with dynamic loading. Spotted by Robert.
    • Embperl takes the cookie for session handling from the Apache request record to make it available in earlier phases then the content handler. Suggested by Jack Cushman.
    • added entity decoding for value attribute of radio/checkboxes. Spotted by Chris Thorman.
    • %fdat is not resetup when already done and formtype is multipart/formdata. Spotted by Michael Slade.
    • Embperl inserts & instead of a signle & inside query strings when expaned from array or hash refs.
    • Embperl now also accepts hashref inside a url and expand it to a query_string i.e. <a href="foo.html?[+ { a=>1, b=>2 }+]"> will become <a href="foo.html?a=1&amp;b=>2">.
    • EMBPERL_COOKIE_EXPIRES now also supports relativ times like: +30s +10m +1h -1d +3M +10y
    • $req_rec -> pnotes ('EMBPERL_ERRORS') could be used to retrieve error message inside a error document
    • make Embperl compile and run with threaded Perl 5.6. With help from Jason Bodnar. NOTE: That doesn't mean that Embperl is threadsafe!
  • =head1 1.3b4 (BETA) 17.07.2000
    • New $escmode (or EMBPERL_ESCMODE) to disable the possiblilty to turn off escaping with a leading backslash. Adding 4 to any escmode will cause Embperl to do no special processing on the backslash. This is mainly to avoid problems with cross site scripting issuse, where people are able to enter aribtary HTML. Spotted by Dirk Lutzebaeck.
    • Characters between 128 and 159 are all HTML escaped now to avoid problems with buggy browser, which were reported to treat the chars 139 and 141 as < and >. Spotted by Dirk Lutzebaeck.
    • If a requested file is not found when using EmbperlObject as handler, the file given by C<EMBPERL_OBJECT_FALLBACK> is displayed instead. If C<EMBPERL_OBJECT_FALLBACK> isn't set a staus 404, NOT_FOUND is returned as usual.
    • "perl Makefile.PL debug" will build debugging information for gdb/ms-vc++ into Embperl library.
    • test.pl can take a bunch of new options for debugging Embperl itself. See make test TESTARGS="--help".
    • Embperl 1.x and 2.x share now the same Makefile.PL and test.pl
    • Added new debug flag dbgObjectSerach which logs the EmbperlObjects work when searching the correct file.
    • If import parameter is given to Execute, Perl code is compiled, but only [! !] blocks are executed (to allow sub definitions on import)
    • Space is converted to %20 instead of +, because that is more generic. Suggested by Michael Blakely.
    • EmbperlObject now automaticly defines all subs that are declared inside the base template and inside the requested page, so it isn't neccessary anymore to call Execute with import => 0 for them.
    • Every Embperl Page now get passed a request object (which can be obtained from $_[0]). The request object is a hash reference which is blessed into the package HTML::Embperl::Req. Embperl itself don't uses the hash, so you are free to populate it and pass data between different pages of one request.
    • EmbperlObject now setup the inherence so that request page -ISA-> base template -ISA-> EMBPERL_OBJECT_HANDLER_CLASS (if defined) -ISA-> HTML::Embperl::Req and the Embperl request object is blessed into the packages of the requested page, so you can do methods calls to subs that are defined inside the requested page.
    • correct spelling error and renamed ScanEnvironement to ScanEnvironment. (ScanEnvironement still works).
    • EmbperlObject can now be used also offline (via HTML::EmbperlObject::Execute)
    • MailFormTo and HTML::Embperl::Mail::Execute now have a configuration directive EMBPERL_MAILHELO, can be used to specify the host/domain for the HELO/EHLO command. Suggested by Remco Brink.
    • Fixed a bug that caused the default drive to be incorrectly set on Win 32.
  • =head1 1.3b3 (BETA) 25.04.2000
    • Fixed SIGSEGV which occurs in cleanup with Perl 5.6. Spotted by Aaron Johnson.
    • Changed make test so it works correctly with new error messages of Perl 5.6.
    • Fixed a bug that Execute will always fail when $@ was set before. Patch from Francis J. Lacoste.
    • Changed test so it accpects charset in Content-Type header from Apache 1.3.12
    • The outputfile parameter now also works when running under mod_perl. Spotted by Ilia Lobsanov.
    • Makefile.PL warns if you build with a DSO mod_perl < 1.22
    • make test checks that test files are readable by Apache.
    • Applied a patch from Jens-Uwe Magner to make Embperl work with mod_perl 1.22 on AIX. We now require mod_perl 1.22, but I should now work as DSO and staticly linked.
    • Applied a patch from Francis J. Lacoste that makes sure that when a package name is given the file is always compiled into this package. Note: This means that if you specify a packagename and the packagename differs from request to request, the page is compiled for every package and therfore consuming memory on every request.
    • Added EMBPERL_SESSION_HANDLER_CLASS which allows you to overwrite Embperl defaults session handling. Idea form Barrie Slaymaker.
    • Added EmbperlLogo.gif to the distribution, which contains "Powered by Embperl".
    • Added Patch from Randy Kobes that makes Embperl compile with Apache 1.3.12 and Perl 5.6 on Win32.
    • Removed some -w warnings form EmbperlObject
    • Added tests for EmbperlObject
    • Fixed a SIGSEGV that occured when Embperl found [*] inside a page. Spotted by Barrie Slaymaker.
    • Added epchar.c.min which contains translation tables which let's all chars above 128 untouched. This is usefull for processing two byte charsets. Patch from Sangmook Yi.
    • The searchpath (EMBPERL_PATH) now uses semikolons (';') instead of colons (':') to avoid problems with Windows drive letters. Colons still work on Unix.
  • =head1 1.3b2 (BETA) 11. Feb 2000
    • added new mod_perl handler EmbperlObject, which helps to build whole pages out of small objects, which can be overwritten in "derived" pages. EmbperlObject allows you to define the standard layout of your site just once and includes the neccessary components based on the uri. Your HTML documents just have to contain the unique stuff and not the common stuff like headers/footers or navigation bars. Also these common elements can be overwritten in each subdirectory.
    • added EMBPERL_PATH (and path parameter to Execute), which can contain a colon separated search path. Embperl uses it when a file, which does not contain a path, is executed.
    • added new module HTML::Embperl::Mail which sends a file processed via Embperl by email.
    • Fixed a bug, that the logfile if opened also EMBPERL_DEBUG is set to zero. Now if debug is zero, no logfile will be opened. Spotted by Jason Bodnar and Christian Gilmore.

Documentation

CVS
einbetten von Perlcode in HTML Dokumente

Modules

Perl extension for embedding Perl code in HTML documents
Sends results from Embperl via E-Mail
Extents HTML::Embperl for building whole website with reusable components and objects

Provides

in Embperl.pm
in Embperl.pm
in Embperl/Module.pm
in Embperl.pm
in Embperl.pm
in test/html/subimp.pm