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

NAME

DiaColloDB::Temp::Hash - DiaColloDB: temporary hashes

SYNOPSIS

##========================================================================
## PRELIMINARIES

use DiaColloDB::Temp::Hash;

##========================================================================
## Overrides

$tied = TIEHASH($classname, $file, %opts);
undef = utf8_filter_fetch;
undef = utf8_filter_store;
undef = $tied->DESTROY();

##========================================================================
## DiaColloDB::Temp API

undef = $obj->cleanup();

DESCRIPTION

DiaColloDB::Temp::Hash provides a simple tie() interface to large temporary hashes stored on disk.

Globals

Variable: @ISA

DiaColloDB::Temp::Hash inherits from DB_File and DiaColloDB::Temp.

Variable: %TMPFILES

stores temporary filenames keyed by stringified object; used by cleanup().

Overrides

TIEHASH
$tied = TIEHASH($classname, $file, %opts);

Create a (temporary) hash using DB_File. %opts, %$tied:

(
 ##-- DB_File options
 flags => $flags,   ##-- DB_File flags; default=O_RDWR|O_CREAT|O_TRUNC
 mode => $mode,     ##-- DB_File mode; default=(0666 & ~umask)
 type => $type,     ##-- DB_File type; default=$DB_File::DB_BTREE
 utf8keys => $bool, ##-- if true, keys will be stored as utf8 (default=false)
 utf8vals => $bool, ##-- if true, values will be stored as utf8 (default=false)
 utf8 => $bool,     ##-- alias for utf8keys=>$bool, utf8vals=>$bool
 ##
 ##-- local options
 UNLINK => $bool,   ##-- if unspecified or true, file will be unlinked on DESTROY
)
utf8_filter_fetch
undef = utf8_filter_fetch;

DB_File fetch-filter suitable for use with UTF-8 string values.

utf8_filter_store

DB_File store-filter suitable for use with UTF-8 string values.

DESTROY
undef = $tied->DESTROY();

destructor calls cleanup()

DiaColloDB::Temp API

cleanup
undef = $obj->cleanup();

unlink temp files (only if 'temp' attribute is set)

AUTHOR

Bryan Jurish <moocow@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2015-2016 by Bryan Jurish

This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.

SEE ALSO

DiaColloDB::Temp::Array(3pm), DiaColloDB::Temp::Vec(3pm), DiaColloDB::Temp(3pm), DiaColloDB(3pm), perl(1), ...