NAME
PSA::Cache::Entry::PSA
SYNOPSIS
<?psa my ($psa, @args) = (@_) ?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en">
<head>
<!-- Insert a one-liner, HTML escaped. Idea stolen
from PSP -->
<title>[+ $variable +]</title>
</head>
<body>
<p>
<!-- Enclose some arbitary Perl. Core of ePerl -->
<?psa print("Ring, ring.");
print $variable ?>
<form action="foo.psa">
<input type="hidden" name="sid" value="[- $sid -]">
<?psa
# alternative to the above
print CGI::escape(qq{<input type="hidden"
name="sid" value="$sid">})
# call a sub-page, with the given argument
$psa->include("widget.psa", $user);
# pages are turned into subs, so return a closure to it.
# $widget->() will be exactly the same as above
my $widget = $psa->closure("widget.psa", $user); ?>
# for example, call a template that takes a
# widget as a parameter
$psa->include("pageelement.psa", $widget);
# access the CGI object
my $p = $psa->CGI->param("parameter");
# set a cookie
$psa->response->set_cookie($cookie);
?>
<!-- Internationalisation -->
<?psa
Lexicon->lang = "fr"; # optional, set language
?>
<!-- converted to _("_tag") -->
[* _tag *]
<!-- list - call maketext -->
[* $variable, $foo, $bar *]
<!-- Lexicon - constant first argument -->
[* 'Your search matched [quant,_1,document].', $hit_count *]
</form>
</p>
</body>
</html>
DESCRIPTION
A derived class of PSA::Cache::Entry. An object of this type merely runs a different sort of preprocessing when it is compiled.
METHODS
preprocess
Force a compilation of the source file, returns true or croaks with compilation error/warning/file not found/etc
run (@args)
Runs the entry, but croaks if not called with the first argument a PSA object.