Chess::ELO::FEDA - Download FEDA ELO ( into differents backends (SQLite)


version 0.04


   my $elo = Chess::ELO::FEDA->new(
      -url      => ''
      -folder   => './elo/feda',
      -target   => '2017_11.sqlite',
      -callback => sub { my $player = shift; },
      -verbose  => 1


The main idea of this module consists on build a SQL format from the XLS downloaded from the URL provided. All players information are loaded into "elo_feda" table, according this script:

   CREATE TABLE elo_feda(
      feda_id integer primary key, 
      surname varchar(32) not null,
      name    varchar(32), 
      fed     varchar(8), 
      rating  integer, 
      games   integer, 
      birth   integer, 
      title   varchar(16), 
      flag    varchar(8)


new (%OPTS)

Constructor. It accepts a hash with these options:


This callback sub will be called on each record found. It receives a hash reference with the player data: feda_id, surname, name, fed, rating, games, birth, title, flag


Working folder of the overall process. It is not created if it doesn't exists.


Target file where the parser stores the ELO information. According the file extension, it selects the proper backend: .sqlite for SQLite dabase or .csv for a CSV file format. An empty value means that no backend is built.


The URL direction (http://) used by the downloader to search the ZIP file. The main file expected into the package is the XLS


0 by default. If set, shows useful debug messages


Unlink the files dowloaded for this downloader (the XLS file)


Download the ZIP file from the -url parameter. Extract the XLS file to the target_folder (which must exists).


Parse and transform the XLS input file to the proper backend, according the -target parameter. It relies on DBD::* in order to build the file.


Integrates download, parse and cleanup in a single call.


Miguel Prz <>


This software is copyright (c) 2018 by Miguel Prz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.