"使用诊断程序"有问题吗?

cir*_*100 13 perl

使用perl我几乎总是使用:

use strict;
use diagnostics;
Run Code Online (Sandbox Code Playgroud)

我建议"使用诊断"代替use warnings; 这里,我收到了一些负面反馈.所以,现在我在想:

有什么问题 use diagnostics;吗?

hob*_*bbs 17

diagnostics不是像词汇这样的词汇warnings.相反,它设置全局$^W变量(如使用-w标志),它会为所有代码启用警告,无论是否需要,以及是否编写了代码.那有点粗鲁.diagnostics在生产中使用也很愚蠢.如果您需要解释,我建议您使用warnings,然后将警告用于管道splain.


tho*_*att 9

use diagnostics会比你的代码执行速度慢use warnings.如果您在开发过程中收到不明白的警告,可以将其打开,但最好在完成后将其关闭.


Gre*_*con 8

诊断编译指示是一种开发工具,也是您不常需要的工具.根据需要使用它:

$ perl -Mdiagnostics myprog

使用命令行-M开关启用pragma 意味着您不必记得返回并use diagnostics从代码中删除仅测试行.