AI::Categorizer::Storable - Saving and Restoring State


AI-Categorizer documentation Contained in the AI-Categorizer distribution.

Index


Code Index:

NAME

Top

AI::Categorizer::Storable - Saving and Restoring State

SYNOPSIS

Top

  $object->save_state($path);
  ... time passes ...
  $object = Class->restore_state($path);

DESCRIPTION

Top

This class implements methods for storing the state of an object to a file and restoring from that file later. In AI::Categorizer it is generally used in order to let data persist across multiple invocations of a program.

METHODS

Top

save_state($path)

This object method saves the object to disk for later use. The $path argument indicates the place on disk where the object should be saved.

restore_state($path)

This class method reads the file specified by $path and returns the object that was previously stored there using save_state().

AUTHOR

Top

Ken Williams, ken@mathforum.org

COPYRIGHT

Top

SEE ALSO

Top

AI::Categorizer(3), Storable(3)


AI-Categorizer documentation Contained in the AI-Categorizer distribution.

package AI::Categorizer::Storable;

use strict;
use Storable;
use File::Spec ();
use File::Path ();

sub save_state {
  my ($self, $path) = @_;
  if (-e $path) {
    File::Path::rmtree($path) or die "Couldn't overwrite $path: $!";
  }
  mkdir($path, 0777) or die "Can't create $path: $!";
  Storable::nstore($self, File::Spec->catfile($path, 'self'));
}

sub restore_state {
  my ($package, $path) = @_;
  return Storable::retrieve(File::Spec->catfile($path, 'self'));
}

1;
__END__