perl - 全局符号 "$variable"需要在 filename.pl 中显式包名称

标签 perl

根据我对 perl 的理解,我认为该错误消息意味着我有一个未声明的变量,名为 $东西例如 ?我有一个 foreach 声明如下:

foreach my $as (@ARRAYY) {
            $db-> execute($as->[1],$as->[0],$Key);
        } 

我在 上收到错误消息$as 说:
Global symbol "$as" requires explicit package name at filename.pl

我的困惑是,在 foreach 语句中不是已经声明了 $as 吗?作为 :

我的 $as ? 在 foreach 关键字之前?

感谢您的阅读。非常感谢您的想法!

更新
foreach my $as (@ASPATH) {
            #print "\tASPATH : $as->[0]","\t" ;
            #print "\tASINDEX : $as->[1] \n" ;
            $as_path->execute($as->[1],$as->[0],$UpdateKey);
        } 

最佳答案

根据要求发布评论作为答案。

错误可能是两件事:

  • $as在别处看到。
  • 您在 for 循环上方有某种语法错误(缺少括号、分号等),这会中断 my $as宣言。
  • 关于perl - 全局符号 "$variable"需要在 filename.pl 中显式包名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20719248/

    相关文章:

    perl - 在 perl 中使用 $/

    perl - 针对 Perl CGI::Application 身份验证系统的建议

    perl - 如何在 Perl 中将纪元时间转换为正常时间?

    html - XPath 收集多个属性(html 事件)

    perl - 如何在 mac 下用 perl 刷新文件?

    perl - 如何从 perl 中的 IO::Async::Loop 事件中删除 IO::Async::Listener (或其通知程序)对象

    perl - 检查程序是否正在运行,如果不在 perl 中运行它

    regex - 在Perl中,s/^\s +//和s/\s + $//有什么区别?

    perl - 匿名哈希中的奇数个元素

    perl - Mason 是框架吗?