zoukankan      html  css  js  c++  java
  • 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版本以后)。

  • 相关阅读:
    【转】numpy.random.randn()与rand()的区别
    【转】numpy.random.randn()与rand()的区别
    春节一顿饭,吃懂了分布式资源调度
    春节一顿饭,吃懂了分布式资源调度
    ASP.NET 分页类 简单好用 支持 AJAX 自定义文字
    系统设计摘录CAP
    webapi上传文件
    webuploader上传工具
    Js学习文件上传
    K-means算法Java实现
  • 原文地址:https://www.cnblogs.com/zeushuang/p/2649325.html
Copyright © 2011-2022 走看看