in reply to Yesterday's or last month's date?

I would go with the Date::Format module eg:
my @date = localtime(time); #get yesterdays date; $date[3]--; $date[6]--; my $run_date=strftime("%A %e %B %Y", @date);
Similarly for last months date
my @date = localtime(time); #get last months date; $date[4]--; my $run_date=strftime("%A %e %B %Y", @date);
This will return something linke
Sunday 27 May 2001
Mess around with the template if you want a different format (The template is the "%A %e %B %Y" bit)

Diarmuid