1## 2## Finnish tables 3## Contributed by Matthew Musgrove <muskrat@mindless.com> 4## Corrected by roke 5## 6 7package Date::Language::Finnish; 8 9use Date::Language (); 10use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION); 11@ISA = qw(Date::Language); 12$VERSION = "1.01"; 13 14# In Finnish, the names of the months and days are only capitalized at the beginning of sentences. 15@MoY = map($_ . "kuu", qw(tammi helmi maalis huhti touko kes� hein� elo syys loka marras joulu)); 16@DoW = qw(sunnuntai maanantai tiistai keskiviikko torstai perjantai lauantai); 17 18# it is not customary to use abbreviated names of months or days 19# per Graham's suggestion: 20@MoYs = @MoY; 21@DoWs = @DoW; 22 23# the short form of ordinals 24@Dsuf = ('.') x 31; 25 26# doesn't look like this is normally used... 27@AMPM = qw(ap ip); 28 29 30@MoY{@MoY} = (0 .. scalar(@MoY)); 31@MoY{@MoYs} = (0 .. scalar(@MoYs)); 32@DoW{@DoW} = (0 .. scalar(@DoW)); 33@DoW{@DoWs} = (0 .. scalar(@DoWs)); 34 35# Formatting routines 36 37sub format_a { $DoWs[$_[0]->[6]] } 38sub format_A { $DoW[$_[0]->[6]] } 39sub format_b { $MoYs[$_[0]->[4]] } 40sub format_B { $MoY[$_[0]->[4]] } 41sub format_h { $MoYs[$_[0]->[4]] } 42sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] } 43sub format_o { sprintf("%2de",$_[0]->[3]) } 44 451;