2011-03-02 26 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

相关问题