12

我正在尝试使用以下方法调试一些正则表达式:

perl -Mre=debug file.pl

file.pl脚本有很多则表达式。其中一些是重复的。使用上述语法,正在调试file.pl中的所有正则表达式。

有没有办法告诉 Perl 只调试脚本中的特定正则表达式?

我熟悉YAPE::Regex模块,但这不是我需要的。所以请不要建议使用它。

4

2 回答 2

13

与许多其他 pragma 一样,您可以使用no取消以前use的 .

use re 'debug';

$str=~/\d{3}/;

no re 'debug';

$str=~/\d{3}/;
于 2012-06-20T20:41:51.993 回答
6

从 5.9.5 开始,该指令使用 re 'debug',它的等价物是词法范围的,就像其他指令一样。

采用:

{
    use re 'debug';
    # Debugged regexp here.
}
于 2012-06-20T20:48:47.223 回答