*{$whence."::do_cached"} = sub {
my ($self, $codeblock,$arg) = @_;
my $key = 0+$codeblock; if ($arg) { $key .=":".encode_base64(freeze(\$arg)); }
- my $c = $cache->get(0+$codeblock); return @$c if $c;
+ my $c = $cache->get($key); return @$c if $c;
my @stuff = $codeblock->($arg);
- $cache->set(0+$codeblock, [ @stuff ]);
+ $cache->set($key, [ @stuff ]);
return @stuff;
};
*{$whence."::_tagcloud"} = sub {
$cloud
};
*{$whence."::_calendar"} = sub {
- my $self = shift;
my $arg = shift;
my ($y, $m) = split /-/, ($arg || Time::Piece->new->ymd);
my @m = Calendar::Simple::calendar($m, $y);