Modules Useful in combination with CGI::Application
There are a number of plugins on this page (e.g., C:A:P:Session) that should be on the Plugins page instead. This page is intended to list other modules that are NOT C:A:Plugins.
Database/Persistence
Articles
- Comparison of Perl Object Oriented Persistence Modules by Dave Rolsky, et al., on Sourceforge
- Separating the database
Modules
- Class::DBI A popular database abstraction layer. Has a wiki knowledgebase and a presentation slides
- DBIx-Recordset DBI wrapper recommended by p5ee.
- DBIx::Abstract by Andrew Turner
- SQL::Abstract by Nathan Wiger: Similar to be DBIx::Abstract. However, it doesn't require a database handle and can provide better performance than DBIx::Abstract in some cases.
- SQL::Interpolate - Similar to DBIx::Abstract and SQL::Abstract, but with a simple and flexible approach to complex SQL generation.
Session Handling
- CGI::Application::Plugin::Session Integrates with CGI::Session . (example)
Form Validation
- CGI::Application::Plugin::ValidateRM Integrates with Data::FormValidator
AJAX
- CGI::Application::Plugin::HTMLPrototype
- CGI::Ajax - here is an example that processes changed fields without submitting and re-drawing the form
- CGI::Application::Plugin::JSON - this plugin makes it easy to send json-formatted data back to your client-side JavaScript
Note that although CAP::HTMLPrototype or CGI::Ajax might be useful to get you started with AJAX, you don't need to use them.
Graphics
- CGI::Application::GDGraph Ties together CGI::App with GDgraph. There's also a presentation about it available.
Page Generation
- Petal - TAL for Perl
- HTML::FillInForm - Populate HTML forms with query data. It's used behind the scenes in the ValidateRM plugin
Logging
- CGI::Application::Plugin::LogDispatch - integration with Log::Dispatch
- Log::Log4Perl - log errors in runtime smartly (and retire your debugger)
Internationalization
- CGI::Application::Plugin::I18N - integration with Locale::Maketext::Simple
Other Modules
Some are recommended by p5ee.
- File::Temp – Make temporary filename (std distro)
- CGI::FormBuilder – Generate and process stateful forms.
- Config::IniFiles .INI= style configuration files with sections
- XML::Simple – simple XML in/out (like config files).
- XSL - the Extensible Stylesheet Language