I needed to stick today's date into the output for a program and couldn't get it to work. I followed the Cookbook's example too. Here's the defective code:
use strict;
use Time::localtime;
my ($day, $month, $year) = (localtime)[3,4,5];
print "$month/$day/$year\n";
my $s = "$month/$day/$year";
print "s: $s\n";
And it returns:
Use of uninitialized value at test.pl line 5.
Use of uninitialized value at test.pl line 5.
Use of uninitialized value at test.pl line 5.
//
Now, here's the strange part. If I remove the use Time::localtime; line, then the script does exactly what it's supposed to. I couldn't find any mention of this being a bug and all of the examples I'm seeing include the use ... line.
By leaving out the line, am I going to run into problems down the road? Thanks for your advice.
I'm also aware this will print 103 as the year. I'm using the straight value for simplicity here.