A new module I wrote, Time::Duration, is entering CPAN, with
version 1.01.

This is an exerpt from the POD:


NAME
    Time::Duration -- rounded or exact English expression of durations

SYNOPSIS
    Example use in a program that ends by noting its runtime:

      my $start_time = time();
      use Time::Duration;
      
      # then things that take all that time, and then ends:
      print "Runtime ", duration(time() - $start_time), ".\n";

    Example use in a program that reports age of a file:

      use Time::Duration;
      my $file = 'that_file';
      my $age = $^T - (stat($file))[9];  # 9 = modtime
      print "$file was modified ", ago($age);

DESCRIPTION
    This module provides functions for expressing durations in rounded
    or exact terms.

    In the first example in the Synopsis, using
    duration($interval_seconds):

    If the `time() - $start_time' is 3 seconds, this prints "Runtime:
    3 seconds.". If it's 0 seconds, it's "Runtime: 0 seconds.". If
    it's 1 second, it's "Runtime: 1 second.". If it's 125 seconds, you
    get "Runtime: 2 minutes and 5 seconds.". If it's 3820 seconds
    (which is exactly 1h, 3m, 40s), you get it rounded to fit within
    two expressed units: "Runtime: 1 hour and 4 minutes.". Using
    duration_exact instead would return "Runtime: 1 hour, 3 minutes,
    and 40 seconds".

    In the second example in the Synopsis, using
    ago($interval_seconds):

    If the $age is 3 seconds, this prints "*file* was modified 3
    seconds ago".  If it's 0 seconds, it's "*file* was modified just
    now", as a special case.  If it's 1 second, it's "from 1 second
    ago". If it's 125 seconds, you get "*file* was modified 2 minutes
    and 5 seconds ago". If it's 3820 seconds (which is exactly 1h, 3m,
    40s), you get it rounded to fit within two expressed units:
    "*file* was modified 1 hour and 4 minutes ago". Using ago_exact
    instead would return "*file* was modified 1 hour, 3 minutes, and
    40 seconds ago". And if the file's modtime is, surprisingly, three
    seconds into the future, $age is -3, and you'll get the equally
    and appropriately surprising "*file* was modified 3 seconds from
    now."
[sniption]


--
Sean M. Burke    [EMAIL PROTECTED]    http://www.spinn.net/~sburke/

Reply via email to