[英]Perl: Using a hash as a reference is deprecated
我正在開發腳本,即重用一些非常舊的 perl 代碼。
這條線仍然給我錯誤 Using a hash as a reference is deprecated。
%hash->{$_[$counter]} = $_[$counter+1];
我必須如何重構這段代碼,這樣我就不會收到錯誤。
嘗試
$hash{$_[$counter]} = $_[$counter+1];
->{
左側的內容應該是 hash 參考,而不是 hash。 如果您有 hash,請省略->
並只說$hash{
。
學究式地, %hash->{...}
應該做(my $temp=%hash)->{...}
所做的事情:獲取 %hash 的標量值(例如“1/8”,表示 1 of 8使用的存儲桶)並將其用作符號 hash 參考(在使用嚴格的“參考”下失敗並出現錯誤)。 但由於一次意外,它被悄悄地重新解釋為$hash{...}
。 這個錯誤總有一天會被修復,但與此同時人們會被警告改變他們不正確的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.