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

NAME

PPI::Cache - Provides document caching for PPI

SYNOPSIS

  # Load the default cache
  use PPI::Cache ':default';
  
  # Manually create a cache
  my $Cache = PPI::Cache->new(
        path     => '/var/cache/perl/class-PPI',
        readonly => 1,
        );

DESCRIPTION

PPI::Cache provides the default caching functionality for PPI.

It integrates automatically with PPI itself. Once enabled, any attempt to load a document from the filesystem will be cached via cache.

METHODS

path

The path accessor returns the path on the local filesystem that is the root of the cache.

readonly

The readonly accessor returns true if documents should not be written to the cache.

get_document $md5sum | \$source

The get_document method checks to see if a Document is stored in the cache and retrieves it if so.

store_document $Document

The store_document method takes a PPI::Document as argument and explicitly adds it to the cache.

Returns true if saved, or undef (or dies) on error.

FIXME (make this return either one or the other, not both)

TO DO

- Finish the basic functionality

- Add support for use PPI::Cache auto-setting $PPI::Document::CACHE

SUPPORT

See the support section in the main module

AUTHOR

Adam Kennedy, http://ali.as/, cpan@ali.as

COPYRIGHT

Copyright (c) 2005 Adam Kennedy. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.