The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Cache::FileCache -- implements the Cache interface.


The FileCache class implements the Cache interface. This cache stores data in the filesystem so that it can be shared between processes.


  use Cache::FileCache;

  my $cache = new Cache::FileCache( { 'namespace' => 'MyNamespace',
                                      'default_expires_in' => 600 } );

  See Cache::Cache for the usage synopsis.


See Cache::Cache for the API documentation.

Clear( [$cache_root] )

See Cache::Cache, with the optional $cache_root parameter.

Purge( [$cache_root] )

See Cache::Cache, with the optional $cache_root parameter.

Size( [$cache_root] )

See Cache::Cache, with the optional $cache_root parameter.


See Cache::Cache for standard options. Additionally, options are set by passing in a reference to a hash containing any of the following keys:


The location in the filesystem that will hold the root of the cache. Defaults to the 'FileCache' under the OS default temp directory ( often '/tmp' on UNIXes ) unless explicitly set.


The number of subdirectories deep to cache object item. This should be large enough that no cache directory has more than a few hundred objects. Defaults to 3 unless explicitly set.


The directories in the cache on the filesystem should be globally writable to allow for multiple users. While this is a potential security concern, the actual cache entries are written with the user's umask, thus reducing the risk of cache poisoning. If you desire it to only be user writable, set the 'directory_umask' option to '077' or similar. Defaults to '000' unless explicitly set.


See Cache::Cache for default properties.


See the definition above for the option cache_root


See the definition above for the option cache_depth


See the definition above for the option directory_umask




Original author: DeWitt Clinton <>

Last author: $Author: dclinton $

Copyright (C) 2001-2003 DeWitt Clinton