.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Date::Manip::Migration5to6 3pm" .TH Date::Manip::Migration5to6 3pm "2014-09-14" "perl v5.20.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Date::Manip::Migration5to6 \- how to upgrade from 5.xx to 6.00 .SH "SYNOPSIS" .IX Header "SYNOPSIS" When upgrading from Date::Manip 5.xx to 6.00, a few changes may be necessary to your scripts. .PP 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. .PP It should be noted that once the changes are made to your script, it will no longer run correctly in 5.xx. .SH "NECESSARY AND SUGGESTED CHANGES" .IX Header "NECESSARY AND SUGGESTED CHANGES" The following changes are necessary, or strongly suggested: .IP "\fBReading config files with Date_Init\fR" 4 .IX Item "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: .Sp .Vb 5 \& GlobalCnf=FILE \& PersonalCnf=FILE \& PathSep=* \& IgnoreGlobalCnf=* \& PersonalCnfPath=* .Ve .Sp and replace them with: .Sp .Vb 1 \& ConfigFile=FILE .Ve .Sp where \s-1FILE\s0 is now the full path to a config file. Also, the ConfigFile argument should be the first argument in Date_Init. .IP "\fBDate_ConvTZ\fR" 4 .IX Item "Date_ConvTZ" The Date_ConvTZ function has changed. It should now take 3 arguments: .Sp .Vb 1 \& $date = Date_ConvTZ($date,$from,$to); .Ve .Sp If \f(CW$from\fR is not given, it defaults to the local time zone. If \f(CW$to\fR is not given, it defaults to the local time zone. .Sp The date is converted from the \f(CW$from\fR time zone into the \f(CW$to\fR time zone. Both should be any time zone (or alias) supported by Date::Manip. .Sp The old \f(CW$errlevel\fR argument is no longer handled. .IP "\fBConvTZ and \s-1TZ\s0 config variables\fR" 4 .IX Item "ConvTZ and TZ config variables" If you use either the ConvTZ or \s-1TZ\s0 config variables, you should replace them with either SetDate or ForceDate. See the Date::Manip::Config document for information. .Sp The \s-1TZ\s0 variable will continue to work until Dec 2015 at which point it will be removed. .IP "\fBOther deprecated config variables\fR" 4 .IX Item "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): .Sp .Vb 1 \& TZ (removed Dec 2015) .Ve .Sp The following variables have been removed. If you use any of them, you may need to modify your scripts: .Sp .Vb 12 \& IntCharSet \& GlobalCnf \& PersonalCnf \& PathSep \& IgnoreGlobalCnf \& PersonalCnfPath \& ConvTZ \& Internal \& TodayIsMidnight \& DeltaSigns \& UpdateCurrTZ \& ResetWorkdDay .Ve .IP "\fBtoday, yesterday, tomorrow\fR" 4 .IX Item "today, yesterday, tomorrow" If you parse the strings \*(L"today\*(R", \*(L"yesterday\*(R", or \*(L"tomorrow\*(R" 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 \*(L"today\*(R" is the current day at midnight, \*(L"yesterday\*(R" is the previous day at midnight, etc.). .Sp To get the time now, 24 hours ago, or 24 hours in the future, you would need to parse the strings \*(L"now\*(R", \*(L"\-24:00:00\*(R", or \*(L"+24:00:00\*(R" respectively. .IP "\fBDo not use Memoize\fR" 4 .IX Item "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. .Sp 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. .Sp Please see the Date::Manip::Changes5to6 (\s-1GENERAL CHANGES\s0) document for more information. .PP 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. .SH "BUGS AND QUESTIONS" .IX Header "BUGS AND QUESTIONS" Please refer to the Date::Manip::Problems documentation for information on submitting bug reports or questions to the author. .SH "SEE ALSO" .IX Header "SEE ALSO" Date::Manip \- main module documentation .SH "LICENSE" .IX Header "LICENSE" This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .SH "AUTHOR" .IX Header "AUTHOR" Sullivan Beck (sbeck@cpan.org)