First, your method of getting the date isn't very "perlish". I'd done this:
my ($day, $month, $year) = (localtime)[3,4,5];
$year += 1900;
$month += 1;
if ($month < 10) {
$month = "0" . $month;
}
$day--; # We want yesterdays date, yeah? Ok, this fails for the first
+of the month, I don't have the time to hack that :)
my $date = "$year-$month-$day";
(Besides that: did you copy and paste the code snippets?
If yes, then you won't have a date at all, if I understand
your code right, you tried to use backticks to get the
date, but I can see just plain quotes.)
And what happens if you change the second "attach" type to "text/plain"?