perl – 我可以只在一个子程序中“使用警告”吗?

perl – 我可以只在一个子程序中“使用警告”吗?,第1张

概述我正在研究一个大约4000行的Perl CGI脚本.我们的编码风格通常包括使用严格和使用警告,但在这个特定的(相当旧的)文件中,“使用警告”被注释掉,注释表明启用警告会泛滥Apache日志. 现在我打算将一些代码分成一个新的子程序.我想至少在那里使用警告.如何安全地限制使用警告对一个子程序的影响?只是将use子句放在子程序中就能完成这项工作吗? 是的,使用警告将在您编写它的范围内. 在子内写入使用 我正在研究一个大约4000行的Perl CGI脚本.我们的编码风格通常包括使用严格和使用警告,但在这个特定的(相当旧的)文件中,“使用警告”被注释掉,注释表明启用警告会泛滥Apache日志.

现在我打算将一些代码分成一个新的子程序.我想至少在那里使用警告.如何安全地限制使用警告对一个子程序的影响?只是将use子句放在子程序中就能完成这项工作吗?

解决方法 是的,使用警告将在您编写它的范围内.

在子内写入使用警告只会影响给定例程(或块).

示例代码段

sub foo {  use warnings;  print  my $a; }{  use warnings;  print  my $b;}foo;print my $c;

产量

Use of uninitialized value $b in print at foo.pl line 8.Use of uninitialized value $a in print at foo.pl line 3.

请注意,没有关于使用print my $c的警告.

文件说什么?

> perldoc.perllexwarn

This pragma works just like the strict pragma. This means that the scope of the warning pragma is limited to the enclosing block. It also means that the pragma setting will not leak across files (via use,require or do). This allows authors to independently define the degree of warning checks that will be applIEd to their module.

总结

以上是内存溢出为你收集整理的perl – 我可以只在一个子程序中“使用警告”吗?全部内容,希望文章能够帮你解决perl – 我可以只在一个子程序中“使用警告”吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1268597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存