Date::Manip::Migration5to6(3) User Contributed Perl Documentation Date::Manip::Migration5to6(3)
Date::Manip::Migration5to6 - how to upgrade from 5.xx to 6.00
When upgrading from Date::Manip 5.xx to 6.00, a few changes may be necessary to your
The Date::Manip::Changes5to6 document lists in more detail the ways in which Date::Manip
changed, but very few of these actually entail changes to your script.
It should be noted that once the changes are made to your script, it will no longer run
correctly in 5.xx.
NECESSARY AND SUGGESTED CHANGES
The following changes are necessary, or strongly suggested:
Reading config files with Date_Init
If you use Date_Init to read any config files (if you do business mode calculations,
you probably do), you should remove all of the following config variables from your
call to Date_Init:
and replace them with:
where FILE is now the full path to a config file. Also, the ConfigFile argument should
be the first argument in Date_Init.
The Date_ConvTZ function has changed. It should now take 3 arguments:
$date = Date_ConvTZ($date,$from,$to);
If $from is not given, it defaults to the local time zone. If $to is not given, it
defaults to the local time zone.
The date is converted from the $from time zone into the $to time zone. Both should be
any time zone (or alias) supported by Date::Manip.
The old $errlevel argument is no longer handled.
ConvTZ and TZ config variables
If you use either the ConvTZ or TZ config variables, you should replace them with
either SetDate or ForceDate. See the Date::Manip::Config document for information.
The TZ variable will continue to work until Dec 2013 at which point it will be
Other deprecated config variables
The following config variables have been deprecated, but will continue to function
(though they will be removed at a future date):
TZ (removed Dec 2013)
The following variables have been removed. If you use any of them, you may need to
modify your scripts:
today, yesterday, tomorrow
If you parse the strings "today", "yesterday", or "tomorrow" in order to get the time
now, or 24 hours in the past/future, this will no longer work. These strings now
refer strictly to the date (so "today" is the current day at midnight, "yesterday" is
the previous day at midnight, etc.).
To get the time now, 24 hours ago, or 24 hours in the future, you would need to parse
the strings "now", "-24:00:00", or "+24:00:00" respectively.
Do not use Memoize
In 5.xx, it was documented that you could use the module Memoize to speed up
Date::Manip, especially when sorting dates.
This information is no longer accurate. Using Memoize in conjunction with Date::Manip
should have little impact on performance, and may lead to incorrect results,
especially if you change config variables.
Please see the Date::Manip::Changes5to6 (GENERAL CHANGES) document for more
If you find other instances where it is necessary to modify your script, please email me
so that I can add that information to this document.
BUGS AND QUESTIONS
Please refer to the Date::Manip::Problems documentation for information on submitting bug
reports or questions to the author.
Date::Manip - main module documentation
This script is free software; you can redistribute it and/or modify it under the same
terms as Perl itself.
Sullivan Beck (email@example.com)
perl v5.16.3 2014-06-09 Date::Manip::Migration5to6(3)