我有一个这样的数组: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