NAME
    Embperl::Features - Main features of Embperl 2.0

Main features of Embperl 2.0
    *   Embperl facilitates embedding Perl code into HTML/XML or other text
        documents. Perl code is evaluated at the server side and the result
        is sent to the browser. All available Perl modules can be used
        without any restriction.

    *   Allows to build Web sites out of small reusable components in an
        object-oriented way. Components can call and/or embed each other and
        inherit from other objects.

    *   Standard layout of a web-site site can be defined once and the
        content can be dynamically generated by these components based on
        the uri. The documents need only contain the variable portions but
        not the common items which define the layout like headers/footers or
        navigation bars which normally form the template. Also these common
        elements can be overwritten in each sub-directory.

    *   Embperl 2.0 thus facilitates separating code, layout and creating
        MVC (Model-View-Controller) applications. Control logic can be moved
        into an application object, which controls further execution of the
        request, while the actual pages are containing the display code.
        Simple applications can still embed all the code in the pages.

    *   Source-code for each component can come from a different source, for
        eg. from file, memory or sub-request which allows to act on the
        output from another Apache application like PHP, JSP, CGI Script
        etc.

    *   Each component can be in a different source format (e.g. HTML, WML,
        XML, POD, ...) and can be transformed to other output formats, say
        by using via XSLT.

    *   Supports one or more scripting syntax using Embperl, ASP, Text, Perl
        and others.

    *   Output generation is divided into small steps where each is
        processed by a plugable provider. The interaction of the providers
        can be individually configured for each component via recipes.

    *   Supports caching of intermediate results and output.

    *   Embperl encompasses several features that ease the task of dynamic
        web-site content generation, including dynamic-tables,
        form-field-processing, escaping/unescaping, etc.

    *   Contains a module for easy form input validation, which is able to
        validate user input at the server side and on the client side by one
        definition of rules.

    *   Handles per-user and per-module persistent session requiring only
        storage and retrieval of the session data from a special hash.

    *   UTF-8 Support (honours Perl's internal UTF-8 flag during in- and
        output)

    *   Offers flexible configuration options to suite individual tastes and
        needs.

    *   Fully integrated into Apache and mod_perl to acheive the best
        performance. Can also run as a free standing CGI-script, off-line or
        can be called from another Perl program.

    *   The Perl module DBIx::Recordset offers high level, easy to use
        database access for Embperl.

    *   *Embperl::Mail* enables redirecting the result output to a
        mail-recipient.

    *   *Embperl::Inline* allows to embedd Embperl code in normal Perl code

