projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move recent new entries to the front of the list
[spider.git]
/
perl
/
QSL.pm
diff --git
a/perl/QSL.pm
b/perl/QSL.pm
index 35117b1ba9bc5a1f7da9b06efca87121de2f0612..abb8b86cf6a771e850f1532195b3fef246144146 100644
(file)
--- a/
perl/QSL.pm
+++ b/
perl/QSL.pm
@@
-12,7
+12,6
@@
use DXVars;
use DXUtil;
use DB_File;
use DXDebug;
use DXUtil;
use DB_File;
use DXDebug;
-use Storable qw(nfreeze thaw);
use vars qw($VERSION $BRANCH);
$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
use vars qw($VERSION $BRANCH);
$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
@@
-28,7
+27,18
@@
sub init
{
my $mode = shift;
my $ufn = "$main::root/data/$qslfn.v1";
{
my $mode = shift;
my $ufn = "$main::root/data/$qslfn.v1";
+
+ eval {
+ require Storable;
+ };
+ if ($@) {
+ dbg("Storable appears to be missing");
+ dbg("In order to use the QSL feature you must");
+ dbg("load Storable from CPAN");
+ return undef;
+ }
+ import Storable qw(nfreeze thaw);
my %u;
if ($mode) {
$dbm = tie (%u, 'DB_File', $ufn, O_CREAT|O_RDWR, 0666, $DB_BTREE) or confess "can't open qsl file: $qslfn ($!)";
my %u;
if ($mode) {
$dbm = tie (%u, 'DB_File', $ufn, O_CREAT|O_RDWR, 0666, $DB_BTREE) or confess "can't open qsl file: $qslfn ($!)";
@@
-52,6
+62,7
@@
sub new
# the format of each entry is [manager, times found, last time]
sub update
{
# the format of each entry is [manager, times found, last time]
sub update
{
+ return unless $dbm;
my $self = shift;
my $line = shift;
my $t = shift;
my $self = shift;
my $line = shift;
my $t = shift;
@@
-69,7
+80,7
@@
sub update
}
} else {
$r = [$man, 1, $t, $by];
}
} else {
$r = [$man, 1, $t, $by];
-
push
@{$self->[1]}, $r;
+
unshift
@{$self->[1]}, $r;
}
}
$self->put;
}
}
$self->put;
@@
-77,8
+88,8
@@
sub update
sub get
{
sub get
{
- my $key = uc shift;
return undef unless $dbm;
return undef unless $dbm;
+ my $key = uc shift;
my $value;
my $r = $dbm->get($key, $value);
my $value;
my $r = $dbm->get($key, $value);
@@
-88,10
+99,10
@@
sub get
sub put
{
sub put
{
+ return unless $dbm;
my $self = shift;
my $key = $self->[0];
my $value = nfreeze($self);
my $self = shift;
my $key = $self->[0];
my $value = nfreeze($self);
- $dbm->del($key);
$dbm->put($key, $value);
}
$dbm->put($key, $value);
}