为了账号安全,请及时绑定邮箱和手机立即绑定

perl中如何把数组最为hash的key

perl中如何把数组最为hash的key

动漫人物 2019-04-12 11:06:33
perl中如何把数组最为hash的key
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞


1

2

3

4

5

6

7

8

9

10

11

12

13

14

可以用引用引用也可以转成string

@m = ('1', '2', '3');

@n = ('4', '5', '6');

$H{\@m} = 1;

$H{\@n} = 1;

$sm = join('-', @m);

$sn = join('-', @n);

$S{$sm} = 1;

$S{$sn} = 1;

print key_exists(1, 2, 3);

sub key_exists {

    my $str = join('-', @_);

    return exists $S{$str}?1:0;

}


 


查看完整回答
反对 回复 2019-04-13
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

use strict;
use warnings;

my %hash=(a=>{1=>10,2=>20},b=>{3=>30,4=>40});
foreach my $key1 (keys(%hash))
{
print("\$hash{$key1} has keys:".join(',',keys(%{$hash{$key1}})),"\n");
}

查看完整回答
反对 回复 2019-04-13
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

你可以参考下面的代码, 测试过了.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

use strict;

my @array = ("aaa,vbbbb","cccc,ddddd","eeeee,xxxxx");

my %hash_output;

#数组每个元素按","分开,并按HASH表存储

for(@array)

{

    my ($key,$value) = split ',';

    $hash_output{$key} = $value;

}

#检查hash表的最终值

for(keys %hash_output)

{

    print "[key] $_ ==> [value] $hash_output{$_}\r\n";

}

 

 


查看完整回答
反对 回复 2019-04-13
  • 3 回答
  • 0 关注
  • 755 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信