perl-hash

    -6热度

    1回答

    我是perl的新手,这件事让我感到非常紧张。我有一个哈希如下 %temp = ( a_collection => [\%first, \%second] ) 我想要得到的数组元素作为一个字符串,这样我就可以把它们用作循环ARGS。我有以下代码 foreach $item (@{$temp{'a_collection'}}) { <convert to json> $ite

    2热度

    1回答

    我有问题的解码JSON内容的所有URL映射......我试过了,但得到的错误:不是哈希参考... $text = decode_json($document); #print Dumper($text); my @urls = map { $_->{'uri'} } @{$text->{children}->{children}}; print @urls; 这里解码JSON,我需要捕捉

    1热度

    1回答

    如何将多层嵌套散列(例如%A)复制到另一个散列(例如%B)?我想确保新的哈希不包含与原始哈希(%A)相同的引用(指针)。 如果我改变了原始散列(%A)中的任何内容,它不应该在新散列(%B)中更改 中的任何内容。 我想要一个通用的方式做到这一点。我知道我可以通过为每个级别的密钥重新分配值 (例如,%{$ b {kb}} =%a;)来完成此操作。 但是,应该有这将工作密钥水平 问题实施例数(散列的散列

    1热度

    2回答

    我的要求如下。内相同的散列密钥的值是依赖于其它密钥值如下所示 my %test; $test{map}{a} = 32; $test{map}{b} = $test{map}{a}+10; $test{ref}{r} = $test{map}{b}; 所以,当我做 打印自卸车(\%试验); 我得到 $VAR1 = { 'ref' => { 'r' =>

    2热度

    3回答

    我想在perl哈希键中创建一个哈希键,看起来像这样(lowerR-10,UpperR-12)= > 1. 这里的关键是(lowerR-10,UpperR-12),它的值是1. 其实我有一个这样的文件。我必须找到元素之间的重叠。 甲10 12 甲10 15 ,其输出将是 甲10 12 2 A 12 15 1 最后一列显示之间的重叠元素。 我想将计数保存在一个散列中,我认为这个键应该是这样的(lowe

    2热度

    1回答

    我想检查一个特定的字是否存在于哈希键中。 我试图以下列方式: while (($key, $value) = each(%hash)) { if($key =~ /\b$some_word\b/) { print"$key contains $some_word \n"; } } 我的问题是有同样的任何内置功能或者是有什么替代方法?

    1热度

    1回答

    嗨,我对Perl很陌生。我有一个包含子例程的Perl哈希。我试图用我在网上找到的各种方式运行它。但似乎没有任何工作。 我的代码: %hashfun = ( start=>sub { print 'hello' }, end=>sub { print 'bye' } ); 而且我尝试了以下多。 print "\n $hashfun{start} \n"; 这导致以下输出: CODE(

    1热度

    1回答

    如果我宣布一个哈希这样的: my %n = (a => {1 => "1a",2 => "2a"},"b" => {1 => "1b",2 => "2b"}); 如何访问数据:N - > A - > 1? 我试图 print "$n{a{1}}"; print "$n{a ->{ 1}}"; 这两个不工作

    2热度

    1回答

    我有一个制表符分隔的文件:abc.txt。 ,其具有像数据: Pytul_T015270 Protein of unknown function Pytul_T015269 Protein of unknown function Pytul_T015255 Protein of unknown function Pytul_T015297 Protein of unknown functio

    2热度

    1回答

    为什么通过执行该程序多次合并哈希的输出会有所不同? use strict; use warnings; my %data1=(a=>'1',b=>'2',c=>'3'); my %data2=(d=>'4',e=>'5',f=>'6'); my %data3=(%data1,%data2); while(my($key,$value)=each %data3) { print