[COLOR=#804040][b]use [/b][/color]Date::Calc [COLOR=#ff00ff]qw/[/color][COLOR=#ff00ff]Delta_YMD Delta_Days Days_in_Month[/color][COLOR=#ff00ff]/[/color];
[COLOR=#804040][b]my[/b][/color] ([COLOR=#008080]$y1[/color], [COLOR=#008080]$m1[/color], [COLOR=#008080]$d1[/color]) = ([COLOR=#ff00ff]2008[/color], [COLOR=#ff00ff]10[/color], [COLOR=#ff00ff]31[/color]);
[COLOR=#804040][b]my[/b][/color] ([COLOR=#008080]$y2[/color], [COLOR=#008080]$m2[/color], [COLOR=#008080]$d2[/color]) = ([COLOR=#ff00ff]2009[/color], [COLOR=#ff00ff]1[/color], [COLOR=#ff00ff]16[/color]);
[COLOR=#804040][b]my[/b][/color] ([COLOR=#008080]$dy[/color], [COLOR=#008080]$dm[/color], [COLOR=#008080]$dd[/color]) = Delta_YMD([COLOR=#008080]$y1[/color], [COLOR=#008080]$m1[/color], [COLOR=#008080]$d1[/color],[COLOR=#008080]$y2[/color], [COLOR=#008080]$m2[/color], [COLOR=#008080]$d2[/color]);
[COLOR=#804040][b]print[/b][/color] [COLOR=#ff00ff]"[/color][COLOR=#ff00ff]Date 1: [/color][COLOR=#008080]$y1[/color][COLOR=#ff00ff]-[/color][COLOR=#008080]$m1[/color][COLOR=#ff00ff]-[/color][COLOR=#008080]$d1[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]Date 2: [/color][COLOR=#008080]$y2[/color][COLOR=#ff00ff]-[/color][COLOR=#008080]$m2[/color][COLOR=#ff00ff]-[/color][COLOR=#008080]$d2[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]"[/color];
[COLOR=#804040][b]print[/b][/color] [COLOR=#ff00ff]"[/color][COLOR=#ff00ff]Delta Days: [/color][COLOR=#ff00ff]"[/color] . Delta_Days([COLOR=#008080]$y1[/color], [COLOR=#008080]$m1[/color], [COLOR=#008080]$d1[/color],[COLOR=#008080]$y2[/color], [COLOR=#008080]$m2[/color], [COLOR=#008080]$d2[/color]) . [COLOR=#ff00ff]"[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]"[/color];
[COLOR=#804040][b]print[/b][/color] [COLOR=#ff00ff]"[/color][COLOR=#ff00ff]Years: [/color][COLOR=#008080]$dy[/color][COLOR=#ff00ff], Months: [/color][COLOR=#008080]$dm[/color][COLOR=#ff00ff], Days: [/color][COLOR=#008080]$dd[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]"[/color];
([COLOR=#008080]$dy[/color], [COLOR=#008080]$dm[/color], [COLOR=#008080]$dd[/color])=[COLOR=#008080]&DeltaYMD_HUF[/color]([COLOR=#008080]$y1[/color], [COLOR=#008080]$m1[/color], [COLOR=#008080]$d1[/color], [COLOR=#008080]$y2[/color], [COLOR=#008080]$m2[/color], [COLOR=#008080]$d2[/color], [COLOR=#008080]$dy[/color], [COLOR=#008080]$dm[/color], [COLOR=#008080]$dd[/color]);
[COLOR=#804040][b]print[/b][/color] [COLOR=#ff00ff]"[/color][COLOR=#ff00ff]Now in Human Understandable Form:[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]"[/color];
[COLOR=#804040][b]print[/b][/color] [COLOR=#ff00ff]"[/color][COLOR=#ff00ff]Years: [/color][COLOR=#008080]$dy[/color][COLOR=#ff00ff], Months: [/color][COLOR=#008080]$dm[/color][COLOR=#ff00ff], Days: [/color][COLOR=#008080]$dd[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]"[/color];
[COLOR=#0000ff]###[/color]
[COLOR=#804040][b]sub[/b][/color][COLOR=#008080] [/color][COLOR=#008080]DeltaYMD_HUF[/color]{
[COLOR=#0000ff]# correct date differences returned from Delta_YMD [/color]
[COLOR=#0000ff]# into human understandable form [/color]
[COLOR=#804040][b]my[/b][/color] ([COLOR=#008080]$y1[/color], [COLOR=#008080]$m1[/color], [COLOR=#008080]$d1[/color], [COLOR=#008080]$y2[/color], [COLOR=#008080]$m2[/color], [COLOR=#008080]$d2[/color], [COLOR=#008080]$dy[/color], [COLOR=#008080]$dm[/color], [COLOR=#008080]$dd[/color]) = [COLOR=#008080]@_[/color];
[COLOR=#804040][b]if[/b][/color] ([COLOR=#008080]$dd[/color] < [COLOR=#ff00ff]0[/color]){
[COLOR=#0000ff]# correct number of days and months[/color]
[COLOR=#008080]$dd[/color] = Days_in_Month([COLOR=#008080]$y2[/color], [COLOR=#008080]$m2[/color]) - [COLOR=#804040][b]abs[/b][/color]([COLOR=#008080]$dd[/color]);
[COLOR=#008080]$dm[/color] -= [COLOR=#ff00ff]1[/color];
}
[COLOR=#804040][b]if[/b][/color] ([COLOR=#008080]$dm[/color] < [COLOR=#ff00ff]0[/color]){
[COLOR=#0000ff]# correct number of months and years[/color]
[COLOR=#008080]$dm[/color] = [COLOR=#ff00ff]12[/color] - [COLOR=#804040][b]abs[/b][/color]([COLOR=#008080]$dm[/color]);
[COLOR=#008080]$dy[/color] -= [COLOR=#ff00ff]1[/color];
}
[COLOR=#804040][b]return[/b][/color]([COLOR=#008080]$dy[/color], [COLOR=#008080]$dm[/color], [COLOR=#008080]$dd[/color])
}