Embperl - building dynamic websites with Perl


2.0b1 (BETA) 22. Dec 2000
[ << Prev: 2.0b2 (BETA) 29. Mar 2001 ] [ Content ] [ Next: 1.3.4 (RELEASE) 5. Dec 2001 >> ]
   - Syntax of Embperl is now defined in module HTML::Embperl::Syntax
   - Processing of Embperl is now divided in smaller steps:
        1 reading the source
        2 parseing 
        3 compiling 
        4 executing
        5 outputing
     Since steps 1-3 has only to take place for the first time a file
     is processed, Embperl is about 50-100% faster the Embperl 1.x.
     (Embperl 1.x has also precompiled the Perl code, but Embperl
     goes much further and stores also a precompiled structure of
     the document)
     This modularisation will also allow to replace single steps
     with other modules and to cascade multiple processors, that
     work on one document.
   - The following options can currently only set from the httpd.conf:
     optRawInput, optKeepSpaces
   - The following options are currently not supported:
     optDisableHtmlScan, optDisableTableScan,
     optDisableInputScan, optDisableMetaScan 
   - Nesting must be properly. I.e. you cannot put a <table> tag (for an
     dynamic table) inside an if and the </table> inside another if.
     (That still works for static tables)
   - optUndefToEmptyValue is always set and cannot be disabled.
   - [$ foreach $x (@x) $] requires now the bracket around the
     array (like Perl)
   - [* *] blocks works now as expected.
   - option tag can take value optional from html text, so 
     <option value="foo"> and <option>foo</option> are the same
   - Execute ('file.htm#subname') works now without a previous
     import
   - Added cacheing of output. There are serveral parameters that
     controls the caching. They can be either given as configuration
     directives in httpd.conf, as parameters to Execute or as
     Perl vars/subs inside a [! !] of the page itself.
   - [+ +] blocks must now contain a valid Perl expression. Embperl 1.x
     allows you to put multiple statements into such a block. For performance
     reasons this is not possible anymore. Also the expression must _not_
     terminated with a semikolon. To let old code work, just wrap it into a do
     e.g. [+ do { my $a = $b + 5 ; $a } +]

[ << Prev: 2.0b2 (BETA) 29. Mar 2001 ] [ Content ] [ Next: 1.3.4 (RELEASE) 5. Dec 2001 >> ]


© 1997-2023 Gerald Richter / actevy