use Time::Piece qw(localtime);
use Time::Seconds qw(ONE_DAY);
my $t = localtime;
my $yesterday = $t - ONE_DAY();
my $tomorrow = $t + ONE_DAY();
print "Today: ", $t->ymd(),"\n";
print "Yesterday: ", $yesterday->ymd(),"\n";
print "Tomorrow: ", $tomorrow->ymd(),"\n";
####
my $t = localtime->strptime(localtime->ymd(), '%Y-%m-%d');
my $yesterday = $t - ( 0.5 * ONE_DAY() );
my $tomorrow = $t + ( 1.5 * ONE_DAY() );
print "Today: ", $t->ymd(),"\n";
print "Yesterday: ", $yesterday->ymd(),"\n";
print "Tomorrow: ", $tomorrow->ymd(),"\n";
##
##
my $t = localtime->strptime('2013-03-11', '%Y-%m-%d');
my $yesterday = $t - ONE_DAY();
my $tomorrow = $t + ONE_DAY();
print "Today: ", $t->ymd(),"\n";
print "Yesterday: ", $yesterday->ymd(),"\n";
print "Tomorrow: ", $tomorrow->ymd(),"\n";
#Prints:
Today: 2013-03-11
Yesterday: 2013-03-09
Tomorrow: 2013-03-12