-5

在使用“strict refs”时不能使用字符串(“”)作为 HASH ref

4

1 回答 1

1

因为 - 正如有人已经说过的那样-$result_string仍然不是哈希。也不是$_。因此,在其上使用“类似哈希”的构造是永远不会起作用的。

您似乎已将split先前问题中的建议纳入其中,但您似乎并不真正了解代码中实际发生的情况。

split将您的字符串分解为列表。然后,您使用 迭代列表for。当你使用时for $_设置为'当前迭代器',所以它会('RCSoWLAN', 'ePDG-2', 'Qguest', 'ASUS_ATT_VOWIFI')依次设置为。

在第一次迭代中 - 你正在写:

"RCSoWLAN" -> {1} -> {ssid}

这是荒谬的,这就是为什么你会得到你的错误。

假设您的输入字符串来自另一个来源,其中包括字段名称 - 就像ssid您尝试访问的字段一样。但这从来没有真正进入你的程序,所以它也是没有意义的。

您最好的选择实际上是回溯,并找出您在此处实际尝试完成的工作,并概述输入和输出(以及代码示例),以便我们实际上有机会弄清楚您在做什么。

于 2018-05-18T08:25:31.040 回答