encapsulate the getting of stuff in a sub

main
Yanick Champoux 2023-08-26 10:24:39 -04:00
parent 109ba04c35
commit 0c3f6949fa
1 changed files with 30 additions and 18 deletions

View File

@ -7,29 +7,41 @@ use List::Util qw(sum);
use Text::SimpleTable::AutoWidth;
use WWW::Mechanize ();
# log in to Mersenne.org and get results for the last year
# excluding everything but PHP and DD results
my $mech = WWW::Mechanize->new();
my $url =
'https://www.mersenne.org/results/?extf=1&exp1=1&execm=1&excert=1&exp_lo=2&exp_hi=&limit=10000';
$mech->get($url);
$mech->submit_form(
form_number => 1,
fields => {
user_login => $ENV{'MERSENNE_USER'},
user_password => $ENV{'MERSENNE_PASSWORD'},
} );
sub get_mersenne_results() {
# log in to Mersenne.org and get results for the last year
# excluding everything but PHP and DD results
# load the results into a table object
my $html_string = $mech->content();
$html_string =~ s/\n//g;
my $te = HTML::TableExtract->new( depth => 0, count => 2 );
$te->parse($html_string);
my $mech = WWW::Mechanize->new;
my $url =
'https://www.mersenne.org/results/?extf=1&exp1=1&execm=1&excert=1&exp_lo=2&exp_hi=&limit=10000';
$mech->get($url);
$mech->submit_form(
form_number => 1,
fields => {
user_login => $ENV{'MERSENNE_USER'},
user_password => $ENV{'MERSENNE_PASSWORD'},
} );
# load the results into a table object
my $html_string = $mech->content;
$html_string =~ s/\n//g;
my $te = HTML::TableExtract->new( depth => 0, count => 2 );
$te->parse($html_string);
return $te->first_table_found;
}
my $ts = get_mersenne_results();
# group GHZ Days results by computer, compute GHZ Days per Day (GHZ Days / Days)
my $list;
my $ts = $te->first_table_found();
foreach my $row ( $ts->rows ) {
foreach my $cell ($row) {
my $machine = @$cell[0];