$ cat pogo.pl #!/usr/bin/perl use strict; use warnings; use Number::Fraction; my %tasks = ( a=>4, b=>4, c=>4, d=>24, e=>24, f=>24, g=>100, h=>150, i=>150, j=>150, k=>600 ); my $time = 0; for my $k (sort keys %tasks) { my $time_used = Number::Fraction->new( 1, $tasks{$k}); $time = $time + $time_used; print $time->to_string(), "\n"; } $ ./pogo.pl 1/4 1/2 3/4 19/24 5/6 7/8 177/200 107/120 539/600 181/200 68/75