The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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 },
    ]
 );