刘刊 > pantheon > Janus::Sequence::Code

Download:
pantheon-0.58.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source  

NAME ^

Janus::Sequence::Code - Load maintenence plugin code.

SYNOPSIS ^

 use Janus::Sequence::Code;

 my $code = Janus::Sequence::Code->load( '/code/file' );
 my ( $alpha, $omega ) = $code->dump( 'alpha', 'omega' );

CODE ^

$STATIC may be defined with a true value - a hint that our variables in this package should have a static effect.

Also, the package must return a HASH of ARRAY of CODE indexed by stage names.

Top level HASH consists of ARRAYs indexed by sequence names. Each ARRAY consists of CODE indexed by stage names. i.e. ARRAY is a flattened HASH, which guarantees order of stage invocations.

METHODS ^

load( $file )

Load code from file. Returns object.

dump( @name )

Returns code identified by @name.

static()

Returns true if static hint is on, false otherwise.

EXAMPLE ^

 use strict;
 use Data::Dumper;

 ## hint: modifications on our variables persist through all sub calls.
 our $STATIC = 1;

 our ( $foo, $bar ) = qw( foo bar );
 our %hash = ( foo => 1, bar => 1 );

 return
 (
    alpha =>
    [
        foo => sub { print "$foo\n"; $bar = 'baz'; }, 
        bar => sub { print "$bar\n"; $foo = 'bar'; delete $hash{foo}; }
    ],

    omega =>
    [
        foo => sub { print "$foo\n"; },
        bar => sub { print "$bar\n"; print Dumper \%hash },
    ]
 );
syntax highlighting: