如何在Perl中仅声明数组的子集?

时间:2014-01-27 11:04:27

标签: arrays perl subset

我要做这样的事情:

my ($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst) = localtime(time);

但我不需要所有这些变量(只需要$ min,$ hour,$ mon,$ year)。

是否有一个简单的解决方案只能在perl中声明必填字段?

对我来说,一个简单的解决方案就是这个,但它不是真正的“性感”:

my @day = localtime(time);
my $min = $day[1];
my $hour = $day[2];
my $day = $day[3];
...

提前感谢任何能够给我一些想法的人:)

2 个答案:

答案 0 :(得分:7)

您可以使用slices指定所需数组的哪些元素。

my ($min,$hour,$mon,$year) = (localtime(time))[1,2,4,5];

答案 1 :(得分:4)

嗯,“性感”有点主观,但我认为这就是你的意思:

 my (undef,$min,$hour,undef,$mon,$year) = localtime(time);