Ещё дополнение - Class::Date конечно максимально близок к желаемому, но конечно не идеален, даже если отбросить работу с интервалами (сам тип interval и операцию in), то хорошо бы писать не $dt1 + '15m', а как-то типа $dt1 + 15 min чтобы это было частью языка и проверялось на стадии компиляции, но как понимаю в перле это нереализуемо.