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 one 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, e.g. from
file, memory or sub-request which allows one 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 achieve 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 one to embedd Embperl code in normal Perl
code