Item Description: Powerful date parsing, arithmetic and other manipulation
Review Synopsis: Big module, but worth it for flexible parsing and complex manipulation tasks
Date::Manip is often referred to as a large, monolithic and impractical module. And at almost three times the size of Date::Calc (which is itself referred to as large and monolithic), it is certainly a large module. However, it provides some useful high-level functions, including very flexible parsing capabilities.
The GoodI have found Date::Manip to be useful primarily for its date parsing capabilities. It can parse many different human-readable date specifications. You can say things like:
and they will all parse correctly. Date::Manip also handles concepts of work days and holidays, date deltas (for example, "in 3 weeks" can be parsed both as a date and as a delta), recurrent events, and named events. From its internal representation, it can output dates in any format you may need.ParseDate('today at midnight') ParseDate('in 3 weeks') ParseDate('1 year ago') ParseDate('3rd monday in october') ParseDate('3rd monday in october at 5 pm') ParseDate('in 3 hours') ParseDate('december 3, 1970')
The documentation is quite extensive and detailed, although it is somewhat confusing in parts.
The BadIt is a very large module.