• Global symbol "" requires explicit package name at ""的perl程序编译出错的解决办法


    最近编写一个perl脚本时候,编译出现了Global symbol "" requires explicit package name at ""的错误,后发现是由于使用use strict;造成,那么问题解决方法应该有两个:

    一,使用use strict; ,修改其他代码,如下:

    1,首先,检查你是不是用了use strict;

    2,如果用了use strict; 则,请在每个变量前加my将其声明为本地变量;

    3,进行完前两步后,重新编译,此时问题解决。


    二,去掉use strict;语法的严格检查,重新编译,问题应该解决了。

    题外话:

    何时使用use strict;?

    当你的程序有一定的行数时,尤其是在一页放不下时,或者是你找不到发生错误的原因时。

    为什么要用 use strict?

    众多的原因之最重要的原因是帮你寻找因为错误拼写造成的错误。

    因为你会发现使用 use strict 之后,我们就不必花太多的时间自己去查找 use strict 可以找到的很多简单错误。

    比如错误使用了'$recieve_date' 变量,但实际上你在程序中已声明的是 '$receive_date' 变量,这个错误就很难发现。同样,use strict 迫使你把变量的范围缩到最小,使你不必担心同名变量在程序的其它部份发生不良作用。(尽管这是 my 的功能,但是如果你使用 use strict 的话,它会强迫你用 my 声明变量,来达到上述目的)。

    用 use strict 麻烦吗?

    不麻烦,只要在你的脚本的开始加上11个字符而已!(use strict;)

    故还是推荐使用use strict; (perl5.6版本以后)。

  • 相关阅读:
    Windows下搭建JSP开发环境
    ssh 学习笔记
    18 11 27 长连接 短链接
    18 11 26 用多进程 多线程 携程 实现 http 服务器的创建
    18 11 24 简单的http服务器
    关于 某个智慧树课堂的 机器与机器交流方法
    18 11 23 正则学习
    尝试解决 : Microsoft Visual C++ 14.0 is required 的问题
    18 11 20 网络通信 ----多任务---- 携程 ----生成器
    18 11 20 网络通信 ----多任务---- 携程 ----迭代器
  • 原文地址:https://www.cnblogs.com/zeushuang/p/2649325.html
Copyright © 2020-2023  润新知