NAME
Quiq::Storable - Persistenz für Perl-Datenstrukturen
BASE CLASS
DESCRIPTION
Die Klasse ist ein objektorientierter Wrapper für das Core-Modul Storable, speziell für die Funktionen freeze(), thaw(), clone().
METHODS
Klassenmethoden
clone() - Deep Copy einer Datenstruktur
Synopsis
$cloneRef = Quiq::Storable->clone($ref);
freeze() - Serialisiere Datenstruktur zu Zeichenkette
Synopsis
$str = Quiq::Storable->freeze($ref);
thaw() - Deserialisiere Zeichenkette zu Datenstruktur
Synopsis
$ref = Quiq::Storable->thaw($str);
memoize() - Cache Datenstruktur in Datei
Synopsis
$ref = Quiq::Storable->memoize($file,$sub);
Description
Existiert Datei $file, deserialisiere die enthaltene Datenstruktur. Andernfalls erzeuge die Datenstruktur durch Aufruf der Subroutine $sub und speichere sie in Datei $file. In beiden Fällen liefere eine Referenz auf die Datenstuktur zurück.
Soll die Datenstuktur erneut generiert werden, genügt es, die Datei zuvor zu löschen.
Example
Cache Hash mit zyklischer Struktur:
my $cacheFile = '~/tmp/test5674';
my $objectH = Quiq::Storable->memoize($cacheFile,sub {
my $h;
$h->{'A'} = [1,undef];
$h->{'B'} = [2,undef];
$h->{'A'}[1] = \$h->{'B'};
$h->{'B'}[1] = \$h->{'A'};
return $h;
});
VERSION
1.135
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2019 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.