CPAN::Testers::WWW::Statistics::Leaderboard - CPAN Testers Statistics leaderboard.


  my %hash = { config => 'options' };
  my $obj = CPAN::Testers::WWW::Statistics->new(%hash);
  my $lb = CPAN::Testers::WWW::Statistics::Leaderboard->new(parent => $obj);

  $ct->process( renew    => 1 );        # renew all counts
  $ct->process( update   => 1 );        # update counts for the last 3 months
  $ct->process( postdate => '201206' ); # update counts for specified month
  $ct->process( check    => 1 );        # check for discrepancies


Using the cpanstats database, this module provides the data in the 'leaderboard' table within the 'cpanstats' database. The data itself is then used by the Pages module to create the leaderboard pages.

Previously this information was held in a JSON file, but maintaining accurate data has been problematic.

Note that this package should not be called directly, but via its parent as:

  my %hash = { config => 'options' };
  my $obj = CPAN::Testers::WWW::Statistics->new(%hash);

  $obj->leaderboard( %options ); # above for the list of options


The Constructor

  • new

    Page creation object. Allows the user to turn or off the progress tracking.

    new() takes an option hash as an argument, which may contain 'progress => 1' to turn on the progress tracker.

Public Methods

  • renew

    Renew all OS counts for all month entries.

  • update

    Update all OS counts for the last 3 months.

  • postdate

    Update all OS counts for the specified month.

  • check

    Verify monthy counts with source table to ensure all OS counts have been appropriately applied.

  • results

    Provides the data as a hash for the required months, with the OS and tester names as subsidary keys.

    Note that month '999999' is a special case, and is an accumulation of all other months, from those requested. Thus if only '999999' is requested the top level hash return will only consist of one date, and will be a sum of all months.


CPAN Testers wouldn't exist without the help and support of the Perl community. However, since 2008 CPAN Testers has grown far beyond the expectations of it's original creators. As a consequence it now requires considerable funding to help support the infrastructure.

In early 2012 the Enlightened Perl Organisation very kindly set-up a CPAN Testers Fund within their donatation structure, to help the project cover the costs of servers and services.

If you would like to donate to the CPAN Testers Fund, please follow the link below to the Enlightened Perl Organisation's donation site.

If your company would like to support us, you can donate financially via the fund link above, or if you have servers or services that we might use, please send an email to with details.

Our full list of current sponsors can be found at our I <3 CPAN Testers site.


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,,


  Barbie, <>
  for Miss Barbell Productions <>.


  Copyright (C) 2005-2017 Barbie for Miss Barbell Productions.

  This distribution is free software; you can redistribute it and/or
  modify it under the Artistic Licence v2.