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版本以后)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM