#!/usr/bin/perl
use strict;
use warnings;
my @month_numbers = (1..12);
my %month_names = (
'English' => [qw(January February March April May June July August Spetember October November December)],
'English abbr' => [qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Now Dec)],
'Dutch' => [qw(januari februari maart april mei juni juli augustus september oktober november december)],
'French' => [qw(janvier février mars avril mai juin juillet aoűt septembre octobre novembre décembre)],
'German' => [qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember)],
'Greek' => [qw(Ianuários Fevruários Mártios Aprílios Máios Iúnios Iúlios Avghustos Septémvrios Októvrios Noémvrios Thekémvrios)],
'Italian' => [qw(gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre)],
'Spanish' => [qw(enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre)],
);
my %months;
for my $language (keys %month_names) {
@months{@{$month_names{$language}}} = @month_numbers;
@months{map(uc $_, @{$month_names{$language}})} = @month_numbers;
@months{map(lc $_, @{$month_names{$language}})} = @month_numbers;
}
sub get_month_number {
my $month = shift;
return $months{$month};
}
####
print get_month_number('July');
####
my %months;
for my $language (keys %month_names) {
my $number = 0;
$months{lc $_} = ++$number for @{$month_names{$language}};
}
sub get_month_number {
my $month = lc shift;
return $months{$month};
}