#!/usr/bin/perl -w
use strict;
use v5.10;
use POSIX;
if (@ARGV < 1) { say "Usage: $0 <infile>"; exit; }
if (! -e $ARGV[0]) { die "$ARGV[0] doesn't seem to exist"; }
open my $infile, '<', $ARGV[0]
or die "Can't open $ARGV[0] for reading: $!";
# this is the slow part...
my @file_lines = map { s/(^\s*|\s*$)//g; $_; } sort { $a <=> $b } <$infile>;
close $infile;
my @percentiles = ( .5, .75, .85, .90, .95, .99 );
say join "\t", "country", @percentiles;
use File::Basename;
print +(split /_/, basename($ARGV[0]))[0], "\t";
use List::Util 'sum';
my $mean = sum(@file_lines) / $#file_lines;
say join "\t", (map { ceil($file_lines[ceil($_ * $#file_lines)]) } @percentiles),
ceil($mean), ceil($file_lines[$#file_lines]),
ceil(sqrt(sum(map { $_ * $_ } map { $_ - $mean } @file_lines) / $#file_lines)),
$#file_lines;