不推荐使用散列作为引用

Gri*_*gor 2 perl hash

在询问这个问题之前我搜索了SO,我对此完全陌生,并且不知道如何处理这些错误.我的意思是Perl语言.

当我把它

%name->{@id[$#id]} = $temp;
Run Code Online (Sandbox Code Playgroud)

我收到了错误 Using a hash as a reference is deprecated

我试过了

$name{@id[$#id]} = $temp
Run Code Online (Sandbox Code Playgroud)

但无法取得任何结果.

有什么建议?

Bor*_*din 8

访问哈希元素的正确方法%name$name{'key'}.语法%name->{'key'}在Perl v5.6中有效,但后来被弃用.

同样,要访问数组的最后一个元素,@id您应该编写,$id[$#id]或者更简单地说$id[-1].

您的第二个变体应该可以正常工作,并且您无法检索该值具有无关的原因.

$name{$id[-1]} = 'test';
Run Code Online (Sandbox Code Playgroud)

print $name{$id[-1]};
Run Code Online (Sandbox Code Playgroud)

test正确显示