The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use warnings;
use strict;

package HTTP::Session::ID::MD5;
use Digest::MD5  ();
use Time::HiRes  ();

# Digest::MD5 was first released with perl 5.007003

sub generate_id {
    my ($class, $sid_length) = @_;
    my $unique = $ENV{UNIQUE_ID} || ( [] . rand() );
    return substr( Digest::MD5::md5_hex( Time::HiRes::gettimeofday() . $unique ), 0, $sid_length );
}

1;