gpt4 book ai didi

perl - 在使用 "strict refs"时不能将字符串用作 ARRAY 引用

转载 作者:行者123 更新时间:2023-12-02 06:28:02 24 4
gpt4 key购买 nike

我正在尝试执行下面提到的代码并观察到错误

Can't use string ("RCSoWLAN;ePDG-2;Qguest;ASUS_ATT_"...) as an ARRAY ref while "strict refs" in use.

Perl代码

#!/perl64/bin/perl

use strict;
use warnings;

my $result_string = 'RCSoWLAN;ePDG-2;Qguest;ASUS_ATT_VOWIFI;RCS_IWLAN;Qguest;Pandora;Hydra;ASUS_ATT_VOWIFI_5G;Linksys_Performance_2.4G;RCS_NAT;ePDG7;Qguest;Pandora;Hydra;ipv6testap;Linksys_Performance_5G;ASUS_stress_5G;Hydra';

my $index = 1;

foreach ( @{ $result_string } ) {

print "SSID[$index]: $_->{$index}->{ssid}\n";
$index++;
}

最佳答案

如错误消息所述,@{ $result_string } 尝试取消对字符串的引用,就好像它是数组引用一样。但它只是一个字符串,所以 Perl 不能为你做这件事

看起来好像你有分号分隔的数据,最简单的方法是使用 split 将它分成字段

这应该更适合你

for ( split /;/, $result_string ) {

print "SSID[$index]: $_\n";
++$index;
}

但我无法理解您尝试使用 $_->{$index}->{ssid} 做什么。也许你会解释一下?

关于perl - 在使用 "strict refs"时不能将字符串用作 ARRAY 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50367575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com