#!/usr/bin/perl -w use strict; my $COUNT_TO = 1e9; my @TIME_UNITS = ( [ year => 365.25 * 24 * 60 * 60 ], [ week => 7 * 24 * 60 * 60 ], [ day => 24 * 60 * 60 ], [ hour => 60 * 60 ], [ minute => 60 ], [ second => 1 ], ); print "Content-type: text/plain\n\n"; my $delta = $COUNT_TO - time; $delta = 0 if $delta < 0; my @items = map { my ($unit, $secs) = @$_; my $count = int($delta/$secs); $delta -= $count * $secs; $count ? $count == 1 ? "1 $unit" : "$count ${unit}s" : (); } @TIME_UNITS; ## splice @items, 3 if @items > 3; @items = q(not very long) unless @items; my $relative = @items > 2 ? join(", ", @items[0..$#items-1], "and $items[-1]") : @items > 1 ? "$items[0] and $items[1]" : $items[0]; print $relative;