国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

如何使用strict和warnings

2019-11-18 17:22:44
字體:
供稿:網(wǎng)友

什么場(chǎng)合要用usestrict

當(dāng)你的程序有一定的行數(shù)時(shí),尤其是在一頁放不下時(shí),或者是你找不到發(fā)生錯(cuò)誤的原因時(shí)。

為什么要用usestrict?

眾多的原因之一是幫你尋找因?yàn)殄e(cuò)誤拼寫造成的錯(cuò)誤。比如錯(cuò)誤使用了'$recieve_date'變量,但實(shí)際上你在程序中已聲明的是'$receive_date'變量,這個(gè)錯(cuò)誤就很難發(fā)現(xiàn)。同樣,usestrict迫使你把變量的范圍縮到最小,使你不必?fù)?dān)心同名變量在程序的其它部份發(fā)生不良作用。(盡管這是my的功能,但是如果你使用usestrict的話,它會(huì)強(qiáng)迫你用my聲明變量,來達(dá)到上述目的)。用usestrict麻煩嗎?不麻煩,只要在你的腳本的開始加上11個(gè)字符而已!(usestrict;),另外在整個(gè)程序中用my聲明變量。不錯(cuò),那我怎么用usestrict呢?在你的腳本的開頭'#!/usr/local/bin/perl'后面加上這句就行。

usestrict;
得,程序出錯(cuò)了,我該怎么辦?常見的錯(cuò)誤信息一般如下:
Globalsymbol"$xxx"requiresexplicitpackagenameat./tstline5.
這是我們要馬上解決的錯(cuò)誤。(如果出現(xiàn)類似于'ServerError'之類的錯(cuò)誤,請(qǐng)檢查一下你的web服務(wù)器上的errorlogs,或用這也太麻煩了吧。懶惰不是Perl文化中的美德嗎?當(dāng)然,懶惰是我們的美德。因?yàn)槟銜?huì)發(fā)現(xiàn)使用usestrict之后,我們就不必花太多的時(shí)間自己去查找usestrict可以找到的很多簡(jiǎn)單錯(cuò)誤。那warnings又是什么?哦,對(duì)了。在Perl5.6及以后的版本里,我們可以在寫'usestrict;'的位置旁寫'usewarnings;':
usewarnings;
在Perl5.6版之前(或者為了不同Perl版本間的兼容),你可以用命令行參數(shù)'#!/usr/bin/perl-w'。還有一種辦法是設(shè)置$^W變量(不過,如果$^W不在BEGIN{}程序塊里的話,就沒辦法截取編譯時(shí)的錯(cuò)誤提示,所以一般我們用'-w'):
#!/usr/local/bin/perl-w#或者$^W=1;#或者BEGIN{$^W=1}
如果你確定不用warnings,你可以限制它的使用范圍,如:
#把這段代碼:subadd_two_numbers_which_might_be_undef{$_[0] $_[1];}#根據(jù)Perl的版本不同改成下面的樣子:#1subadd_two_numbers_which_might_be_undef{#參見'perldocperllexwarn'#因?yàn)樽詈檬侵辉谀阆M牡胤浇沟魒arningnowarnings"uninitialized";$_[0] $_[1];}#2subadd_two_numbers_which_might_be_undef{local$^W;$_[0] $_[1];}
或者,你應(yīng)像前面例子中聲明'$number'一樣初始化變量。

你還可以參閱

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 白沙| 仪征市| 昌都县| 德保县| 大同市| 河西区| 迁安市| 韶山市| 泾阳县| 泗阳县| 资兴市| 高密市| 怀集县| 阿图什市| 东平县| 水富县| 尉氏县| 新丰县| 阆中市| 长垣县| 平定县| 盘山县| 深圳市| 边坝县| 天峻县| 崇义县| 南部县| 江口县| 怀宁县| 楚雄市| 黄大仙区| 武胜县| 钦州市| 安塞县| 务川| 九寨沟县| 崇明县| 威信县| 贺兰县| 资讯 | 花莲市|