Bib-Tools
view release on metacpan or search on metacpan
lib/Bib/Tools.pm view on Meta::CPAN
send_resp print print_nodoi num num_nodoi getref getref_nodoi append add_bibtex
);
%EXPORT_TAGS = (all => \@EXPORT_OK);
####################################################################################
sub new {
my $self;
# defaults
$self->{refs} = []; # the references
$self->{nodoi_refs} = [];
$self->{duprefs} = [];
$self->{html}=0;
$self->{ratelimit}=5; # limit of 5 crossref queries per sec
$self->{last} = {};
bless $self;
my $ratelimit = $_[1];
if (defined($ratelimit) && ($ratelimit>=0)) {$self->{ratelimit}=$ratelimit};
return $self;
}
lib/Bib/Tools.pm view on Meta::CPAN
if (!defined($doi) || length($doi)==0) {push @{$self->{nodoi_refs}}, $ref; next; }# skip entries with no DOI
my $found = 0;
foreach my $ref2 (@newrefs) {
if ($ref2->doi() eq $doi) {
$found = 1;
}
}
if (!$found) {
push @newrefs, $ref;
} else {
push @{$self->{duprefs}}, $ref;
}
}
$self->{refs} = \@newrefs;
}
####################################################################################
sub append {
# add new reference to end of existing list
my $self = shift @_;
my $ref = shift @_;
$ref->_setdate('2015'); $ref->_setgenre('article');
$ref->_setauthcount(2);
$ref->_setauth(1,'D. J. Leith'); $ref->_setauth(2,'W. E. Leithead');
$ref->_setspage('1001'); $ref->_setepage('1025');
$refs->append($ref);
$refs->append($ref);
ok($refs->_split_duplicates);
my $len1 = @{$refs->{refs}};
is($len1,1);
my $len2 = @{$refs->{duprefs}};
is($len2,1);
my $len3 = @{$refs->{nodoi_refs}};
is($len3,0);
is($refs->num,1);
is($refs->num_nodoi,0);
my $r1;
ok($r1 = $refs->getref(0));
my $out1;
ok($out1 = $r1->print(1));
( run in 1.253 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )