2014-01-27 27 views
0

我即將做這樣的事情:如何在Perl中聲明一個數組的子集?

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

但我並不需要所有這些變量(只分鍾,$小時,$星期一,$年被通緝)。

是否有一個簡單的解決方案來聲明perl中只有必填字段?

一個簡單的解決方案,我是這樣的,但它不是真的「性感」:

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

預先感謝您的任何一個誰可能是能夠給我一些想法:)

+0

值得注意的是,您可以從撥打電話到本地時間失去「時間」。如果'localtime'沒有收到任何參數,那麼它使用當前時間。另外,看看POSIX.pm的'strftime'函數。 –

回答

7

您可以指定要使用slices其中數組的元素。

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

謝謝,這正是我正在尋找的! – gr0bz

4

好, 「性感」是有點主觀的,但我認爲這是你的意思:

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

這絕對是一個「性感」的答案:)謝謝! – gr0bz

相關問題