[Cologne-pm] persistent memoize
Philip Zembrod
Philip.Zembrod at web.de
Fri Feb 17 05:32:52 PST 2006
Hallo Patrick,
Krusenotto, Patrick wrote:
> Hallo,
> ich habe ein Problem mit memoize.
>
> Ich möchte eine Funktion "Memoizen", die Hashes oder Refs auf diese persistent Cacht.
>
> Ich habe Folgendes versucht:
>
> use Memoize;
> use DB_File;
> use Data::Dumper;
>
> sub test {
> print "TEST\n";
> return {$_[0] => $_[1]};
> }
>
> tie my %cache => 'DB_File', 'MEMO.CACHE', O_RDWR|O_CREAT, 0666;
>
Über diese Zeile stolpere ich. Ich benutze tie eigentlich nie und hab
deshalb da keine Routine, aber der =>-Operator, der um seinen linken
Operanden quasi Anführungszeichen wirken läßt, scheint mir an dieser
Stelle sehr merkwürdig, wenn nicht sogar Ursache von Problemen.
> memoize 'test', SCALAR_CACHE => [HASH => \%cache];
>
> $x=test(111,666);
> print Dumper($x);
> $x=test(111,666);
> print $x;
>
>
> Mein Problem ist, das ich als gecachte Daten einen String der Form 'Hash(xxxxx)' geliefert bekomme. Leider gestattet DB_File aber nicht die Verwendung eines LIST_CACHE. Was kann ich da machen? Eine Datenbank kann ich bei der Anwendung aber nicht voraussetzen. Ich bin aber sicher, daß da irgendeine Option gigt, die vielleicht einer von Euch kennt.
>
Gruß
Philip
More information about the Cologne-pm
mailing list