Workflow::Condition::Evaluate man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Workflow::Condition::EUseraContributed Perl DoWorkflow::Condition::Evaluate(3)

NAME
       Workflow::Condition::Evaluate - Inline condition that evaluates perl
       code for truth

VERSION
       This documentation describes version 1.02 of this package

SYNOPSIS
	<state name="foo">
	    <action name="foo action">
		<condition test="$context->{foo} =~ /^Pita chips$/" />

DESCRIPTION
       If you've got a simple test you can use Perl code inline instead of
       specifying a condition class. We differentiate by the 'test' attribute
       -- if it's present we assume it's Perl code to be evaluated.

       While it's easy to abuse something like this with:

	<condition>
	  <test><![CDATA[
	    if ( $context->{foo} =~ /^Pita (chips|snacks|bread)$/" ) {
		 return $context->{bar} eq 'hummus';
	    }
	    else { ... }
	    ]]>
	  </test>
	</condition>

       It should provide a good balance.

OBJECT METHODS
       new( \%params )

       One of the "\%params" should be 'test', which contains the text to
       evaluate for truth.

       evaluate( $wf )

       Evaluate the text passed into the constructor: if the evaluation
       returns a true value then the condition passes; if it throws an
       exception or returns a false value, the condition fails.

       We use Safe to provide a restricted compartment in which we evaluate
       the text. This should prevent any sneaky bastards from doing something
       like:

	<state...>
	    <action...>
		<condition test="system( 'rm -rf /' )" />

       The text has access to one variable, for the moment:

       $context
	   A hashref of all the parameters in the Workflow::Context object

SEE ALSO
       Safe - From some quick research this module seems to have been packaged
       with core Perl 5.004+, and that's sufficiently ancient for me to not
       worry about people having it. If this is a problem for you shoot me an
       email.

COPYRIGHT
       Copyright (c) 2004 Chris Winters. All rights reserved.

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

AUTHORS
       Chris Winters <chris@cwinters.com>

perl v5.14.1			  2011-07-21  Workflow::Condition::Evaluate(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net