HTML::Embperl - Embed Perl in Your HTML Documents
Copyright (c) 1997-2000 Gerald Richter / ECOS
You may distribute under the terms of either the GNU General Public
License or the Artistic License, as specified in the Perl README file.
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
OVERVIEW
Embperl gives you the power to embed Perl code in your HTML documents.
Using Perl means being able to use a very elaborate programming language,
which is widely used for WWW purposes. You can also use hundreds of Perl
modules which have already been written - including DBI - for database
access to a growing number of database systems.
While this could also be done with other packages, Embperl has several
features especially for HTML: dynamic tables, formfield-processing,
escaping/unescaping and more.
Embperl is a server-side tool, which means it's browser-indpendent.
It can run in various ways: Under mod_perl, as a cgi script, or offline.
There is also a module for Database access within Embperl, look
at DBIx::Recordset.
DOCUMENTATION
The following documentation is available within the distribution
Features of Embperl: perldoc Features.pod
Introduction to Embperl: perldoc Intro.pod
Installation of Embperl: perldoc INSTALL.pod
Full documentation: perldoc Embperl.pod
perldoc EmbperlObject.pm
perldoc Embperl/Mail.pm
Frequent Asked Questions: perldoc Faq.pod
Changes: perldoc Changes.pod
Examples: eg/x/README
Emacs-Mode: emacs/README
All the above and further information can be found at the Embperl website
http://perl.apache.org/embperl/
The following documentation is available in GERMAM
Features of Embperl: perldoc FeaturesD.pod
Introduction to Embperl: perldoc IntroD.pod
Full documentation: perldoc EmbperlD.pod
All the above and further information can be found at the german Embperl website
http://www.ecos.de/embperl/
FEATURES
* Lets you embed Perl code into HTML documents. Perl code is
evaluated at the server side and the result is sent to the browser.
* Offers various meta-commands for conditional and loop
processing of the HTML documents.
* Automatically generates dynamic HTML tables/lists from Perl arrays or
function calls (e.g. DBI fetch)
* Form data send to your document is placed in a hash
* Automatically inserts data from the form hash into HTML input,
textarea and select tags
* Understands HTML and URL escaping and unescaping
* Handles per-user and per-module persistent session data for you.
All you need to do is store and retrieve them to and from
a special hash.
* Allows you to build your web-site out of components. Frequently used elements
can be defined once and included in every page.
* 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 element can
be overwritten in each subdirectory.
* Gives you the possibility to build libraries with a set of frequently used
Elements or components, and make them available to the whole web-site in the
same way as Perl modules are - well, modularized.
* Supports debugging of pages by generating a very detailed
log file and making it accessible via the browser with a single click.
* Generates verbose error pages in which every error can link
to the log file. This is ideal for debugging.
* Offers a lot of options for maximum configurability according to your personal tastes and needs.
* Fully integrated into Apache and mod_perl to acheive the best
performance. Can also run as a CGI-script, offline or called from
another Perl program.
* The Perl module DBIx::Recordset offers high level, easy to handle
database access for Embperl.
* If you are concerned about security you can configure Embperl to use
Safe.pm. This way, your documents can run in a safe namespace which
can allow or disallow certain Perl opcodes.
* I gives you the possibility to send the result directly
to a email address
COMPATIBILITY
I have tested Embperl successfully
on Linux 2.x with
perl5.004_04
perl5.005_01/02/03
apache_1.2.5
apache_1.2.6
apache_1.3.0
apache_1.3.1
apache_1.3.2
apache_1.3.3
apache_1.3.4
apache_1.3.6
apache_1.3.9
apache + mod_ssl
apache_ssl (Ben SSL)
Stronghold 2.2
Stronghold 2.4.1
on Windows NT 4.0 with
perl5.004_04
perl5.005_xx (only without threads!)
apache_1.3.0
apache_1.3.1
apache_1.3.4
apache_1.3.6
apache_1.3.9
on Windows 95/98 with
perl5.004_02 (binary distribution)
Offline mode
perl5.005_03 + apache_1.3.6
I know from other people that it works on many other UNIX systems
FEEDBACK and BUG REPORTS
Please let me know if you use or test this module. Bugs, questions,
suggestions for things you would find useful, etc., are discussed on
the mod_perl mailing list.
>From the mod_perl README:
The Apache/Perl mailing list (modperl@apache.org) is available for mod_perl
users and developers to share ideas, solve problems and discuss things related
to mod_perl and the Apache::* (and Embperl) modules. To subscribe to this list, send mail to
majordomo@apache.org with the string "subscribe modperl" in the body.
There is a hypermail archive for this list available from:
http://outside.organic.com/mail-archives/modperl/
There is an Epigone archive for the mod_perl mailing list at
http://forum.swarthmore.edu/epigone/modperl
COMMERICAL SUPPORT
You can get free support on the mod_perl mailing list (see above). If
you need commercial support, ecos can provide it for you. We offer:
* Consulting and assitance for you and your programmers
* Planning of your dynamic website
* Creating of parts or a whole website
* Fixing bugs in Embperl (also available for mod_perl)
* Adding new features
You can reach us via http://www.ecos.de or info@ecos.de
AUTHOR
G. Richter (richter@dev.ecos.de)