gpt4 book ai didi

Perl 语法(替换 'defined(@array' )

转载 作者:行者123 更新时间:2023-12-05 08:52:59 24 4
gpt4 key购买 nike

首先让我说我已经很长时间没有用 Perl 编程了。

目前正在尝试让一些依赖于数组定义的旧代码工作。

代码(删节):

# defined outside the file-reading block
my %refPRE;

# line from a file
@c = split();


if (defined @{$refPRE{$c[0]}})
{
# do stuff
}

现在由于以下错误,它不会像这样运行:

不能使用“defined(@array)”(也许你应该省略 defined()?)

很好,但是如果我删除了 defined,则会出现以下错误:

不能将未定义的值用作 ARRAY 引用

我可以看到它正在尝试做什么(如果 $c[0]$refPRE 中,则执行此操作,否则执行其他操作)但我对 Perl 不够熟悉,无法弄清楚让它工作的正确方法是什么。希望这对某些人来说是微不足道的。

最佳答案

显然在这里发帖是我需要的所有催化剂......

if (defined @{$refPRE{$c[0]}}) 切换为 if ($refPRE{$c[0]}) 足以工作!希望这可以帮助其他搜索此(特定)问题的人......

关于Perl 语法(替换 'defined(@array' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54888846/

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