Perl, convert hash to array

后端 未结 11 2087
借酒劲吻你
借酒劲吻你 2021-02-05 06:56

If I have a hash in Perl that contains complete and sequential integer mappings (ie, all keys from from 0 to n are mapped to something, no keys outside of this), is there a mean

11条回答
  •  一向
    一向 (楼主)
    2021-02-05 07:35

    OK, this is not very "built in" but works. It's also IMHO preferrable to any solution involving "sort" as it's faster.

    map { $array[$_] = $hash{$_} } keys %hash; # Or use foreach instead of map
    

    Otherwise, less efficient:

    my @array = map { $hash{$_} } sort { $a<=>$b } keys %hash;
    

提交回复
热议问题