Changeset 237
- Timestamp:
- 03/02/06 14:29:35
- Files:
-
- trunk/plagger/lib/Plagger/Cache.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Cache.pm
r232 r237 27 27 sub get { 28 28 my $self = shift; 29 my $getter = $self->{cache}->isa('Cache') ? 'thaw' : 'get'; 30 $self->{cache}->$getter(@_); 29 30 my $value; 31 if ( $self->{cache}->isa('Cache') ) { 32 eval { $value = $self->{cache}->thaw(@_) }; 33 if ($@ && $@ =~ /Storable binary/) { 34 $value = $self->{cache}->get(@_); 35 } 36 } else { 37 $value = $self->{cache}->get(@_); 38 } 39 40 $value; 31 41 } 32 42 … … 54 64 my($key, $value, $expiry) = @_; 55 65 56 my $setter = $self->{cache}->isa('Cache') ? 'freeze' : 'set';66 my $setter = $self->{cache}->isa('Cache') && ref $value ? 'freeze' : 'set'; 57 67 $self->{cache}->$setter(@_); 58 68 }
