CPAN::Reporter::History(3) Read or write a CPAN::Reporter history log


version 1.2017


use CPAN::Reporter::History 'have_tested';

@results = have_tested( dist => 'Dist-Name-1.23' );


Interface for interacting with the CPAN::Reporter history file. Most methods are private for use only within CPAN::Reporter itself. However, a public function is provided to query the history file for results.


The following function is available. It is not exported by default.


     # all reports for Foo-Bar-1.23
     @results = have_tested( dist => 'Foo-Bar-1.23' );
     # all NA reports
     @results = have_tested( grade => 'NA' );
     # all reports on the current Perl/platform
     @results = have_tested();

Searches the CPAN::Reporter history file for records exactly matching search criteria, given as pairs of field-names and desired values.

Ordinary search criteria include:

  • "dist" --- the distribution tarball name without any filename suffix; from a "CPAN::Distribution" object, this is provided by the "base_id" method.
  • "phase" --- phase the report was generated during: either 'PL', 'make' or 'test'
  • "grade" --- CPAN Testers grade: 'PASS', 'FAIL', 'NA' or 'UNKNOWN'; Also may be 'DISCARD' for any failing reports not sent due to missing prerequisites

Without additional criteria, a search will be limited to the current version of Perl and the current architecture and OS version. Additional criteria may be specified explicitly or, by specifying the empty string, "q{}", will match that field for any record.

     # all reports for Foo-Bar-1.23 on any version of perl
     # on the current architecture and OS version
     @results = have_tested( dist => 'Foo-Bar-1.23', perl => q{} );

These additional criteria include:

  • "perl" --- perl version and possible patchlevel; this will be dotted decimal (5.6.2) starting with version 5.6, or will be numeric style as given by $] for older versions; if a patchlevel exists, it must be specified similar to ``5.11.0 patch 12345''
  • "archname" --- platform architecture name as given by $Config{archname}
  • "osvers" --- operating system version as given by $Config{osvers}

The function returns an array of hashes representing each test result, with all of the fields listed above.


David Golden <[email protected]>


This software is Copyright (c) 2006 by David Golden.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004