将月份缩写转换为Perl中的数字的最简单或最有效的方法是什么?(即"jan"到1)

jce*_*e14 7 perl date abbreviation

如果我导入库以使用方法,是否值得?导入会占用大量内存吗?

Osk*_*kar 21

借来自这里

%mon2num = qw(
    jan 1  feb 2  mar 3  apr 4  may 5  jun 6
    jul 7  aug 8  sep 9  oct 10 nov 11 dec 12
);
Run Code Online (Sandbox Code Playgroud)

并检索

$mon2num{"jan"}
Run Code Online (Sandbox Code Playgroud)


小智 10

这是另一种方法:

my %month; @month{qw/jan feb mar apr may jun
                     jul aug sep oct nov dec/} = (1 .. 12);
Run Code Online (Sandbox Code Playgroud)


Leo*_*ans 9

导入这样一个模块不太可能花费你应该避免的那么多内存,尽管在这种情况下,一个简单的哈希可能同样好.就像是

my %number_for = (
    jan => 1,
    feb => 2,
#etc...
);
#...
do_something_with($number_for{$month})
Run Code Online (Sandbox Code Playgroud)