Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
$#!
 *getUtil*, PET::Dispatcher
 _fetchGlobals, PET::Dispatcher
 _fileUnchanged, PET::Dispatcher
 _fillQuery, PET::Dispatcher
 _getLastMod, PET::Dispatcher
 _getPath, PET::Session::RamdiskHash
 _getQuery, PET::Dispatcher
 _globalPostprocess, PET::Dispatcher
 _init, PET::Dispatcher
 _initAPI, PET::Dispatcher
 _initcache, PET::Dispatcher
 _log($type,$message), PET::Log
 _parseParams($s), PET::Filter::GenHtml
 _parseParams($s,$body), PET::Filter::UtilXmlMap
 _prefetchMultiSQL, PET::Util::Multilang
 _processTag($util,$method,$params,$cont), PET::Filter::UtilXmlMap
 _seconds($string), PET::CacheControl
 _start, PET::Dispatcher
 _startCookie, PET::Dispatcher
 _toMlString($key,$string), PET::Util::Multilang
0-9
 1--Configuring the webserver
A
 A login page
 acceptloop, PET::RUN::PreForkEFCGI
 access, PET::Session::RamdiskHash
 access($stored), PET::Session
 Action Mappers
 Actions and APIs
 addAttributes(%p), PET::Util::EHTML
 addGlobalSubst
 addHeader(%p), PET::Dispatcher
%ALLOWED, PET::Log
 apck($select,$pagekey), PET::Dispatcher
%APISTORE, PET::ActionMapper
 Author(s)
 AUTOLOAD, PET::Log
B
$base
$BASEDIR
$basepath
$BASEPATH, PET::Dispatcher
 Basic assignment
 Basic loop
 Basic substitution--a”Hello,World!”
 Best Practices
%BM, PET::Dispatcher
 bodySelect(%p), PET::Util::EHTML
C
$CACHE
 call($uri), PET::ActionMapper
 captcha(%p), PET::Util::Image
 captchaMD5(%p), PET::Util::Image
$CCTRL, PET::Dispatcher
%children, PET::RUN::PreForkEFCGI
 cleanup, PET::Util::MySQL
$CLEANUP_THRESHOLD, PET::Session
 cleanupCaptchaDir($dir), PET::Util::Image
 cleanupOld, PET::Session
 compilePetAndRun, PET::Dispatcher
$CONF, PET::Log
 Config
$CONFIG, PET::Util::MySQL
 Config parameters
 configure_hook, PET::RUN::FCGIExternalPreFork
$CONNECTMETHOD, PET::Util::MySQL
 Contribute!
 cookieOnce($key), PET::Dispatcher
 copyFile($src,$dst,%p), PET::Util::IO
$COUNTER, PET::RUN::FCGIProcManager
 Coverage&compatibility
 createDisp, PET::RUN::PreForkEFCGI
 createName, PET::Session
 createThumbnail(%p), PET::Util::Image
 Creating a filter
 Current stage of development
 Current TODOs
 Currently implemented config parameters
D
$DEBUG, PET::Dispatcher
$defaulthandler, PET::Util::MySQL
 defaults, PET::GCONF
 deleteCookie, PET::Dispatcher
 deleteRowById, PET::Util::MySQL
 DESTROY
$dir
 Directory structure and default files
$Disp
$DISP
 Displaying a directory
$DOCROOT, PET::Dispatcher
 dorequest
 doRequest, PET::Dispatcher
E
 empty, PET::Cache
Returns the already instanteniated PET::Dispatcher object.
sub _fetchGlobals
sub _fileUnchanged
sub _fillQuery
sub _getLastMod
Returns the “last modification time” (mtime) of the given file.
sub _getPath
According to sesid, returns a path to the file we store our session data.
sub _globalPostprocess
sub _init
Inits some default stuff.
sub _initAPI
Instanteniates the chosen (global.conf) actionmapper.
sub _initcache
If there is a cache/class, then we init it!
sub _log
This is the logfile-writer.
sub _parseParams
sub _parseParams
Raw string int the tag, that must be parsed.
sub _prefetchMultiSQL
At init-time we load all language definitions to speed up access.
sub _processTag
This gets an “XML tag” that we have to process.
sub _seconds
Converts time to seconds, e.g.
sub _start
sub _startCookie
sub _toMlString
Returns language equivalent of the given string.
First, chose or create a user you will be running PET under.
Let’s log in a user using a basic form.
sub acceptloop
sub access
Session is accessed.
sub access
Signal access to session.
MVC programming (MVC : Modell-View-Controller) separates the programming logic (what your application does) from the representation (what the users see).
sub addAttributes
Adds (x)html attributes to tag.
sub addGlobalSubst
sub addGlobalSubst
sub addGlobalSubst
sub addHeader
Adds header to output HTTP header.
our %ALLOWED
List of allowed logfiles when runing in strict mode.
sub apck
Auto Page Cache Key.
our %APISTORE
We store instanteniated api objects here.
PET was created by Csongor Fagyal (CPAN author-id : FAGZAL -- http://search.cpan.org/~fagzal/).
sub AUTOLOAD
my $base
our $BASEDIR
my $BASEDIR
my $basepath
my $BASEPATH
Base directory to this PET installation.
Here is a basic assignment.
Let’s see the simplest example possible.
How you should use PET, and what you should not do.
our %BM
sub bodySelect
Creates a select...</select> tag, using various parameters.
our $CACHE
our $CACHE
our $CACHE
If we hace a cache set up.
sub call
$uri -- the REQUEST_URI
sub captcha
This creates an “img” tag holding a captcha.
sub captchaMD5
our $CCTRL
Cache-control object init-ed once only.
my %children
sub cleanup
Clean up resources (only in some cases!)
our $CLEANUP_THRESHOLD
sub _cleanupCaptchaDir
Cleanup files in captcha dir.
sub cleanupOld
Called conditionally from “start” when a (new) cookie is created.
sub compilePetAndRun
our $CONF
This document discusses the settings used in PET one can override.
our $CONFIG
There are global and local parameters.
sub configure_hook
our $CONNECTMETHOD
Obviously, you can help making PET succesful and evolve! 
sub cookieOnce
Set a cookie.
sub copyFile
Copy file using absolute paths.
my $COUNTER
Count number of requests before killing child.
PET needs a decent version of Perl -- basically anything from 5.6+ -- and Linux.
sub createDisp
sub createName
Create the name of the session cookie and returns it.
sub createThumbnail
Generate thumbnail given by parameters.
You can create your own filter easily.
At the time of writing (well, actually modifying) this (December, 2008), PET is more than three years old.
Please note : items marked bold are TODOs where you can help! 
our $DEBUG
Debug mode (broken!)
my $defaulthandler
sub defaults
sub deleteCookie
Deletes the name cookie.
sub deleteRowById
sub DESTROY
sub DESTROY
sub DESTROY
Clean up resources.
my $dir
All directories are relative to $BASEPATH (also called $BASEDIR).
our $Disp
our $Disp
Exported on-demand, this is the main instance of PET::Dispatcher.
our $Disp
my $DISP
An instance of PET::Dispatcher.
our $DISP
our $DISP
our $DISP
PET::Dispatcher instance.
my $DISP
An instance if PET::Dispatcher
my $DISP
our $DISP
our $DISP
The following script reads in a directory and displays its content.
my $DOCROOT
sub dorequest
sub dorequest
Execute one call.
sub dorequest
sub doRequest
sub empty
Empties (clears) the cache.
Close