Paul Hoffman > Biblio-COUNTER-0.11 > Biblio::COUNTER::Processor::Atomize

Download:
Biblio-COUNTER-0.11.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  1
View Bugs
Report a bug
Source  

NAME ^

Biblio::COUNTER::Processor::Atomize - break a COUNTER report into itsy pieces

SYNOPSIS ^

    use Biblio::COUNTER::Processor::Atomize;
    $processor = Biblio::COUNTER::Processor::Atomize->new;
    $report = $processor->run($file_or_filehandle);

DESCRIPTION ^

Biblio::COUNTER::Processor::Atomize breaks a COUNTER report into tiny pieces (figuratively speaking) and executes a callback for each valid usage number it finds.

The callback function should look something like this:

    sub my_callback {
        my %data = @_;
        $title  = $data{title};
        $count  = $data{count};
        $metric = $data{metric};
        $period = $data{period};
        # etc.
    }

The following elements may appear in the hash passed to the callback function:

code

The short code that indicates the type of the report (e.g., JR1 or DB3).

file

The name of the file containing the report. Set to - if processing standard input.

processor

The Biblio::COUNTER::Processor::Atomize instance.

report

The instance of the appropriate subclass of Biblio::COUNTER::Report

period

A string of the form YYYY-mm denoting the period in question.

metric

The type of event counted (requests, sessions, searches, or turnaways).

count

The count itself. The callback is not executed for a blank or invalid count.

platform

The platform on which the resource was provided.

title

The resource title.

publisher

The resource's publisher. May be the empty string.

print_issn (journal reports only)

The journal's print ISSN.

online_issn (journal reports only)

The journal's online ISSN.

isbn (book reports only)

The book's ISBN.

PUBLIC METHODS ^

new(%args)
    $foo = Biblio::COUNTER::Processor::Atomize->new;

%args is a list of (key, value) pairs. The only key that means anything is callback; the value associated with it is a reference to the desired callback function.

The desired callback function prints (to standard output) a single tab-delimited line for each datum, with a header. Each line of output has the following elements, in the order listed:

code
file
platform
period
metric
count
title
publisher
print_issn (journal reports only)
online_issn (journal reports only)
isbn (book reports only)
run($file)
    $report = $processor->run($what);

Process the given report.

$what may be a file handle, the name of a file, or an instance of (a subclass of) Biblio::COUNTER::Report.

INHERITANCE ^

Biblio::COUNTER::Processor::Atomize is designed to be inheritable.

BUGS ^

There are no known bugs. Please report bugs to the author via e-mail (see below).

AUTHOR ^

Paul Hoffman (nkuitse AT cpan DOT org)

COPYRIGHT ^

Copyright 2008 Paul M. Hoffman.

This is free software, and is made available under the same terms as Perl itself.

SEE ALSO ^

Biblio::COUNTER

Biblio::COUNTER::Report

Biblio::COUNTER::Report::Processor