Data-FSM
view release on metacpan or search on metacpan
FSM/Transition.pm view on Meta::CPAN
=head1 EXAMPLE
=for comment filename=create_and_print_fsm_transition.pl
use strict;
use warnings;
use Data::FSM::Transition;
use Data::FSM::State;
my $locked = Data::FSM::State->new(
'name' => 'Locked',
);
my $unlocked = Data::FSM::State->new(
'name' => 'Unlocked',
);
my $obj = Data::FSM::Transition->new(
'callback' => sub {
my $self = shift;
print 'Id: '.$self->id."\n";
},
'from' => $locked,
'id' => 7,
'name' => 'Coin',
'to' => $unlocked,
);
# Print out.
print 'Id: '.$obj->id."\n";
print 'From: '.$obj->from->name."\n";
print 'To: '.$obj->from->name."\n";
print 'Name: '.$obj->name."\n";
# Output:
# Id: 7
examples/create_and_print_fsm_transition.pl view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use Data::FSM::Transition;
use Data::FSM::State;
my $locked = Data::FSM::State->new(
'name' => 'Locked',
);
my $unlocked = Data::FSM::State->new(
'name' => 'Unlocked',
);
my $obj = Data::FSM::Transition->new(
'callback' => sub {
my $self = shift;
print 'Id: '.$self->id."\n";
},
'from' => $locked,
'id' => 7,
'name' => 'Coin',
'to' => $unlocked,
);
# Print out.
print 'Id: '.$obj->id."\n";
print 'From: '.$obj->from->name."\n";
print 'To: '.$obj->from->name."\n";
print 'Name: '.$obj->name."\n";
# Output:
# Id: 7
( run in 0.740 second using v1.01-cache-2.11-cpan-e1769b4cff6 )