the assumption that a ear of undef should increment the ticks from epoch to the lowest year of the current century is lame.
use strict; use warnings; use Test::More tests => 4; require_ok( 'Time::Local' ); require_ok( 'POSIX::strptime' ); my @tsStruct = POSIX::strptime("23:16:42", '%T'); ## Time::Local does not work with day as '0' ## Day must be '1' to just use Time functionality ## This sucks massive penis. $tsStruct = 1; ok ( ! defined $tsStruct , 'The year is undef' ); my $unixTics = Time::Local::timegm( @tsStruct ); cmp_ok ( $unixTics, '<=', 3_600*370 , <<EOF ) This was a simple test, a year of undef, triggered Time::Local to assume '0', and round down to the lowest year in the current century this is lame and shitty. EOF