Xerl is an open source website template engine (TE) with some features of a Content Management System (CMS) programmed in object oriented Perl (boosted by FastCGI) and using XML.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
admin (deltavega) cefe831f47 /usr/bin/fortune 3 years ago
Xerl /usr/bin/fortune 3 years ago
COPYING no https 4 years ago
Makefile update all target 8 years ago
README add v5.14 as requirement 8 years ago
TODO dont plan to migrate to Perl 6 yet 5 years ago
Xerl.pm no https 4 years ago
index.cgi default config is xerl.con 3 years ago
index.fcgi default config is xerl.con 3 years ago
xerl.conf use different style when connected via ipv6 3 years ago



Always do:

Pragmatic modules ALWAYS to use in ALL packages:

use strict;
use warnings;
use v5.14;

Only for packages for including package UNIVERSAL definitions

use Xerl::Page::Base;

Object oriented coding style

Always use method prototypes if possible

sub foo($;$) { .... }

Explicit object typing if possible

my Class::Name::Here $foo = Class::Name::Here->new();

If no real ret val, set undef; explicitly

sub foo() {
# Do some stuff
# Set explicit undef ret value
return undef;

Private subs use _ as its prefix and are called only from the current package.

package Xerl::Foo::Bla;

sub _iamprivate($) {
my Xerl::Foo:Bla $self = $_[0];

sub iampublic($) {
my Xerl::Foo:Bla $self = $_[0];
return undef;

Static subs (not OOP) are in CAPITAL letters.

sub IAMSTATIC($) {
print shift;
return 'Hello World';

sub iamdynamic($) {
my Xerl::Foo:Bla $self = $_[0];
return Xerl::Foo::Bla::IAMSTATIC( $self->get_somevalue() );

Static private subs start with _ and are written in CAPITAL letters


Use Pidy to automaically restyle the code! (make perltidy)

Mark things which are still to do with TODO: at any place in the source
tree. (Can be searched for using 'make todo').