The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


CPAN::Testers::WWW::Reports::Query::Reports - Retrieve CPAN Testers metadata direct from the CPAN Testers website.


This module queries the CPAN Testers website and retrieves a data set. For a date request, the data set returned relates to the ids that can be retrieved for that date. A range request will return the records for the requested IDs.


    # establish the object
    my $query = CPAN::Testers::WWW::Reports::Query::Reports->new;

    # get list of ids for a particular date
    my $result = $query->date(
        '2012-02-08' # must be YYYY-MM-DD format

    # $query is a hash ref
    print "From: $result->{from}, To: $result->{to}, Range: $result->{range}\n"; 

    # $result->{list} is an array of the actual ids posted for the given date.
    # note that this list may not include all ids within $result->{range}.
    print "List: " . join(', ',@{$result->{list}}) . "\n";

    # get metabase for a range of ids
    my $result = $query->range(

        # '20120330'  # just get <id>
        # '20120330-' # from <id> until the latest [see caveat]
        # '-20120330' # previous <n> reports up to <id> [see caveat]
        # '-'         # the latest <n> reports [see caveat]

    # $result is a hash ref, with the reports ids as the top level keys
    my @ids = sort keys %$result;
    my $id  = $ids[0];
    print "id = $id, dist = '$result->{$id}{dist}', version = '$result->{$id}{version}'\n";

    # get the raw data for all results, or a specific version if supplied
    my $data = $query->raw;

    # get the last error
    my $error = $query->error;


Note that when using the range parameter, at most only 2500 records will be returned. This is to avoid accidental requests for all records!

This value may change in the future.


The Constructor

  • new

    Instatiates the object CPAN::WWW::Testers. Requires a hash of parameters, with 'config' being the only mandatory key. Note that 'config' can be anything that Config::IniFiles accepts for the -file option.

Search Methods

  • date

    For the given date, returns a hash describing the IDs accessible for that date.

  • range

    For the given range, returns the metadata records stored for those IDs.

Data Methods

  • raw

    Returns the raw content returned from the server.

  • error

    Returns the last recorded error.


There are no known bugs at the time of this release. However, if you spot a bug or are experiencing difficulties, that is not explained within the POD documentation, please send bug reports and patches to the RT Queue (see below).

Fixes are dependent upon their severity and my availability. Should a fix not be forthcoming, please feel free to (politely) remind me.

RT Queue -


CPAN::Testers::Data::Generator, CPAN::Testers::WWW::Reports,,

Initially released during the 2012 QA Hackathon in Paris.


  Barbie, <>
  for Miss Barbell Productions <>.


  Copyright (C) 2012-2014 Barbie for Miss Barbell Productions.

  This module is free software; you can redistribute it and/or
  modify it under the Artistic License 2.0.