A simple lookup table that adjusts the year value according to the month would be much quicker than using generic date modules. This is a slight tweak of my earlier post in another thread (It's generally better to ask follow up questions in the original thread rather than start a new thread). Of course, any answer can only be as good as the information you provide. If there is further undisclosed information (the fiscal year in the UK runs 6th April through 5th April), then further tweaks may be necessary:
#! perl -slw use strict; my %months = ( FY => 0, Jan => 0, Feb => 0, Mar => 0, Apr => 0, May => 0, Jun => 0, Jul => +1, Aug => +1, Sep => +1, Oct => +1, Nov => +1, Dec => +1, ); print for map{ unpack 'x[n]A*', $_ } sort map { my( $alpha, $num ) = m[^(\S+?)\s*(\d+)$]; $num += 2000 if $num <= 49; $num += 1900 if $num <= 99; pack 'nA*', $num + $months{ $alpha }, $_; } <DATA>; __DATA__ Apr 2006 FY05 FY98 FY04 Dec 2007 Jan 1997 Jan 1998 Dec 1998
Output
C:\test>junk Jan 1997 FY98 Jan 1998 Dec 1998 FY04 FY05 Apr 2006 Dec 2007
In reply to Re: Get the Fiscal Year from Date
by BrowserUk
in thread Get the Fiscal Year from Date
by gowthamtr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |