in reply to 'Use Strict' conflicts with Time::Local module

Well, for one, @_ is in array context, so one appropriate way to fetch $t and use $t in the subroutine extractDate is:

my ($t) = @_;
or you could use

my $t = shift;
If you add the code

print "t = $t\n";
below your original $t assignment in your function, it returns the value 1.

This shows that the net effect of

my $t = @_;
is
my $t = scalar @_;
Instead of a time, you're getting the total number of elements in the array @_.

Update: added comments about array to scalar assignment.