Time::Piece
является ядром:
use Time::Piece;
use Time::Seconds qw(ONE_DAY);
my $yesterday = localtime() - ONE_DAY();
print $yesterday->strftime('%d%m%y'), "\n";
Если вас беспокоит переход на летнее время, вы можете нормализовать текущее время к полудню:
use Time::Piece;
use Time::Seconds qw(ONE_DAY ONE_HOUR);
my $today = localtime;
my $yesterday = $today + ONE_HOUR * ( 12 - $today->hour ) - ONE_DAY;
print $yesterday->strftime("%d%m%y"), "\n";
Если вы можете жить с зависимостями, тогда используйте DateTime
:
use DateTime;
print DateTime->now->subtract(days => 1)->strftime('%d%m%y'), "\n";