我有一個這樣的數組:Perl的地圖 - 需要一個數組的哈希映射爲arrayelement-> array_index
my @arr = ("Field3","Field1","Field2","Field5","Field4");
現在我用地圖類似下面,其中/DoSomething的/就是答案時求。
my %hash = map {$_ => **/DOSOMETHING/** } @arr
現在我需要的哈希看起來像如下:
Field3 => 0 Field1 => 1 Field2 => 2 Field5 => 3 Field4 => 4
任何幫助嗎?
不錯的一個。在這麼多年之後,perl讓我感到驚訝:) – unbeli 2010-06-02 13:37:09
這是一種恥辱'%hash'必須預先聲明,所以我們不能寫'my @hash {@arr} = 0 .. $#arr; '... – Zaid 2010-06-02 13:38:43
@Zaid總有一些可愛的技巧,例如'@ $ _ {@ arr} = 0 .. $#arr for \ my%hash;',但eugene的代碼具有較小的震動值。 – 2010-06-02 13:47:38