Data::Remember::POE a brain for Data::Remember linked to the session heap
# An absurd POE programming demonstrating how Data::Remember::POE works use Data::Remember POE => 'Memory'; use POE; POE::Session->create( inline_states => { _start => \&start, count_to_10 => \&count_to_10, print_count => \&print_count, }, heap => brain->new_heap, ); POE::Kernel->run; sub start { my $kernel = $_[KERNEL]; $kernel->yield( 'count_to_10' ); } sub count_to_10 { my $kernel = $_[KERNEL]; for my $count ( 1 .. 10 ) { remember [ count => $count ] = "The count is $count.\n"; $kernel->yield( print_count => $count ); } } sub print_count { my ($kernel, $count) = @_[KERNEL,ARG0]; my $message = recall [ count => $count ]; print $message; }
Normally, when using Data::Remember, the brain used is linked to the package from which the various functions are called. By using Data::Remember::POE to store your brain, the calls to remember, recall, and forget will instead work according to the current POE session.
remember
recall
forget
This means that it's possible to define two POE sessions that use Data::Remember from the same package, but each will use a different brain.
Creates a new object and tells the brain to use CONFIG as the default heap configuration.
CONFIG
Creates a new brain object to be stored in a sessions heap established when "create" in POE::Session is called. This new heap will be created according to the configuration from when Data::Remember was used. For example,
use Data::Remember POE => 'Memory';
This declaration would case new_heap to initialize a new brain using Data::Remember::Memory.
new_heap
You may also specify a CONFIG argument, which will override the configuration set when Data::Remember was used. For example,
POE::Session->create( inline_states => { ... }, heap => brain->new_heap( YAML => file => 'brain.yml' ), );
This overrides whatever options were set during the use and uses Data::Remember::YAML instead.
Stores FACT into QUE for the brain in the current POE session.
FACT
QUE
Fetches the fact that has been stored in QUE for the brain in the current POE session heap.
Deletes any fact that has been stored in QUE for the brain in the current POE session heap.
Returns the brain stored in the current session heap, in case you need to call any brain methods there.
Data::Remember
Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
<hanenkamp@cpan.org>
Copyright 2007 Boomer Consulting, Inc. All Rights Reserved.
This program is free software and may be modified and distributed under the same terms as Perl itself.
To install Data::Remember, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::Remember
CPAN shell
perl -MCPAN -e shell install Data::Remember
For more information on module installation, please visit the detailed CPAN module installation guide.