Если выполняешь вычисления только с целыми днями, то юзай Add_Delta_Days:
use Date::Calc qw(Add_Delta_Days);
($y2,$m2,$d2) = Add_Delta_Days($y,$m,$d,$offset);
Причем $offset может представлять собой как положительное кол-во дней, так и отрицательное!
Если с минутами и секундами то:
use Date::Calc qw(Add_Delta_DHMS);
($year2,$month2,$day2,$h2,$m2,$s2)=Add_Delta_DHMS($year,$month,$day,$hour,$minute,$seconds,$day_offset,$hour_offset,$minute_offset,$seconds_offset);
модуль поставь дополнительно, он не входит в стандартную поставку:
ppm install Date::Calc
И будеттебе Щастье! :-)