NAME
Code::Perl::Expr - Extra Code::Perl classes for Petal
DESCRIPTION
These are some extra Code::Perl Expression classes that are specific to Petal
EXPRESSION CLASSES
Petal::CodePerl::Expr
has been removed from the front of the class names, so for example Alternate
is really Petal::CodePerl::Expr::Alternate
.
Alternate
$class->new(Paths => \@paths);
alternate(@paths);
@paths - an array of Expression objects
Alternate will try each expression in turn, looking for the first one which evaluates without dieing.
$class->new(Expr => $path);
pathexists($path);
$path - an Expression object
PathExists will return true if the $path can be followed without dieing, false otherwise
DerefTAL
$class->new(Ref => $ref, Key => $key);
dereft($ref, $key);
$ref - an Expression object $key - a string
DerefTAL will attempt to dereference the object returned by $ref in the TAL style, using the $key. This means if $ref yields a blessed reference the $key will used as a method name if possible. If $key cannot be used as a method name or $ref yielded an unblessed reference then DerefTAL tries to dereference $ref as an array or a hash, using $key. If $ref doesn't yield a reference then we die.
AUTHOR
Written by Fergal Daly <fergal@esatclear.ie>.
COPYRIGHT
Copyright 2003 by Fergal Daly <fergal@esatclear.ie>.
This program is free software and comes with no warranty. It is distributed under the LGPL license
See the file LGPL included in this distribution or http://www.fsf.org/licenses/licenses.html.