Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Module RFC: Audio::Scrobbler::SimilarArtists

by radiantmatrix (Parson)
on Feb 07, 2006 at 18:52 UTC ( #528597=note: print w/replies, xml ) Need Help??


in reply to Module RFC: Audio::Scrobbler::SimilarArtists

You're doing too much work, when you can just use Memoize and take advantage of the Memoize::Storable capability.

package Audio::Scrobbler::SimilarArtists; use strict; use Memoize; my %cache; sub new { my ($class, %parameters) = @_; my $self = bless ({}, ref ($class) || $class); my %options = ( min_match => 75, cache_time => '1 week', cache_file => '/tmp/audioscrobbler.cache', %parameters, ); $self->{'_options'} = \%options; $self->{cache} = \%cache; tie %{ $self->{cache} } => 'GDBM_File', $self->{_options}->{cache_file}, O_RDWR|O_CREAT, 066 +6; memoize 'lookup', SCALAR_CACHE => [HASH => \%cache]; return $self; } sub lookup { # same as above, but without caching code: memoize handles that. }
<-radiant.matrix->
A collection of thoughts and links from the minds of geeks
The Code that can be seen is not the true Code
I haven't found a problem yet that can't be solved by a well-placed trebuchet

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://528597]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2023-03-30 15:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which type of climate do you prefer to live in?






    Results (74 votes). Check out past polls.

    Notices?