Provided by: libbiblio-counter-perl_0.11-2_all bug

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