#!/usr/bin/perl use strict; use warnings; use Statistics::Descriptive::Weighted; my @data = (1..2000000); my $stat = Statistics::Descriptive::Full->new(); $stat->add_data(@data); print $stat->quantile(1), "\n"; #### #!/usr/local/bin/perl use strict; use warnings; my @numbers = (1..2000000); printf "Percentile %d%% at %f\n", $_, percentile($_,\@numbers) for qw/25 75/; sub percentile { my ($p,$aref) = @_; my $percentile = int($p * $#{$aref}/100); return (sort @$aref)[$percentile]; }