diff options
author | Daniel Friesel <derf@finalrewind.org> | 2015-03-07 23:40:37 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2015-03-07 23:40:37 +0100 |
commit | 8352715ae8ae26d77be42f10f4988821ce833f20 (patch) | |
tree | 243ab5df8844e201915af814d6b838b443a4f343 /index.pl | |
parent | 9bc85128d7e02c6cb73ec08eff490200af63b730 (diff) |
implement toplist
Diffstat (limited to 'index.pl')
-rw-r--r-- | index.pl | 21 |
1 files changed, 10 insertions, 11 deletions
@@ -439,7 +439,7 @@ get '/bar' => sub { return; }; -get '/top10' => sub { +get '/top' => sub { my $self = shift; my $where_clause = '1=1'; @@ -462,19 +462,18 @@ get '/top10' => sub { (scheduled_time, train_id) where $where_clause }; $rates[$msgnum] = $self->app->dbh->selectall_arrayref($query)->[0][0]; - - say "$msgnum: " . $rates[$msgnum] / $total; } my @argsort = reverse sort { $rates[$a] <=> $rates[$b] } ( 1 .. 99 ); - - for my $i (@argsort[0 .. 10]) { - printf("%s: %.2f%%\n", $translation{$i}, $rates[$i] * 100 / $total); - } - - say join(' ', @argsort[0 .. 10]); - - $self->render( 'intro', ); + my @toplist = map { + [ + $translation{$_} // $_, + sprintf( '%.2f%%', $rates[$_] * 100 / $total ), + $rates[$_] + ] + } @argsort; + + $self->render( 'toplist', toplist => \@toplist ); return; }; |