我是perl的新手并为我的项目尝试示例代码。 当我编写如下所示的代码以在perl中启用严格编译指示时会发生什么。
使用严格;
.......#源代码 .......
没有严格的“变种”;
.......#source code
在下一个pragma定义之前使用严格 #do所有严格编译指示?
......#源代码
没有严格的“潜艇”; #do仅禁用了subs strict pragma,其他人从此开始启用了吗?
...........
我可以在源代码之间嵌入使用Strict Pragma声明吗?
答案 0 :(得分:2)
use strict
是词法范围的,这意味着它将“保持有效”直到封闭的块,文件或eval(以先到者为准)结束。“
答案 1 :(得分:2)
对于它的价值,我认为最好使用范围来隔离pragma更改:
use strict;
{
no strict;
local $foo = 1;
}
local $bar = 1;
这会导致设置bar
,但不会设置foo
。
答案 2 :(得分:1)
来自perldoc strict
:
如果没有提供导入列表,则全部 假设可能存在限制。
您可以随时更改严格的事情(“subs”,“vars”和“refs”)。