我正在开发脚本,即重用一些非常旧的perl代码.
这行仍然给出了错误.不推荐使用散列作为引用.
%hash->{$_[$counter]} = $_[$counter+1];
Run Code Online (Sandbox Code Playgroud)
我如何重构此代码,以便我不会收到错误.
下面的代码来自旧的Perl脚本.
print "%{@{$noss}[$i]}->{$sector} \n\n";
Run Code Online (Sandbox Code Playgroud)
我应该如何重写上面的代码,以便Perl不会抱怨"使用散列作为引用已被弃用"?我已经尝试了各种各样的方法,但我仍然无法完全了解Perl编译器希望我做的事情.
sub function{
my $storedata=shift;
my $storenameandaddress=$storedata->{$storeid}->{name}
."_".$storedata->{$storeid}->{location}->{address}
."_".$storedata->{$storeid}->{location}->{city}
."_".$storedata->{$storeid}->{location}->{state}
."_".$storedata->{$storeid}->{location}{country};}
Run Code Online (Sandbox Code Playgroud)
我的代码如上所示.它给了我错误信息:
Using a hash as a reference is deprecated at main.pl line 141.
Run Code Online (Sandbox Code Playgroud)
但是,该功能仍然可以运行.所有的休息似乎都很好.那么这个错误在谈论什么?我该如何解决?谢谢.