2011-03-02 57 views
2

Iam新的perl和嘗試我的項目的示例代碼。 當我編寫如下所示的代碼以在Perl中啓用嚴格的編譯指示時會發生什麼。在Perl腳本中交替聲明Strict pragmas時會發生什麼?

使用嚴格;

....... #Source代碼 .......

沒有嚴格的 「瓦爾」;

....... #source代碼

使用嚴格#do,直到下一個定義的附註所有啓用strict標記?

......#源代碼

沒有嚴格的 「潛艇」; #只有subs嚴格編譯指示被禁用,其他從此處啓用?

...........

我可以嵌入使用strict用法的聲明在源代碼之間?

回答

1

perldoc strict

如果沒有提供導入列表,所有 可能限制假設。

您可以隨時改變對「(subs」,「vars」和「refs」)的嚴格要求。

2

use strict是詞法範圍的,這意味着它將保持有效「直到封閉塊,文件或eval結尾(以先到者爲準)」。

2

對於它的價值,我認爲這是最好的隔離使用範圍的變化附註:

use strict; 

{ 
    no strict; 
    local $foo = 1; 
} 

local $bar = 1; 

這對設置bar炸燬,但沒有foo

相關問題