Looks like a namespace problem when you use Time::localtime, the pod for Time::localtime; shows localtime namespace being an Time::tm=ARRAY(0x224f8c) and the localtime
3,4,5 assign ARRAY refs as well, if you use the module looks like you need to do this... it kinda looks cleaner than trying to remember what array element maps to what... ++ for interesting question
use Time::localtime;
my $year = 1900 + localtime->year;
my $month = 1 + localtime->mon;
my $day = localtime->mday;
print "$year-$month-$day\n";
#OUTPUT: 2003-5-28