调试Perl正则表达式

Ano*_*eek 11 regex debugging perl

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

perl -Mre=debug file.pl
Run Code Online (Sandbox Code Playgroud)

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

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

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

Ole*_*kov 13

与许多其他编译指示一样,您可以使用no取消之前的编译指示use.

use re 'debug';

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

no re 'debug';

$str=~/\d{3}/;
Run Code Online (Sandbox Code Playgroud)


Den*_*aev 6

从5.9.5开始,该指令使用re'debug',其等价物在词法范围内,与其他指令一样.

使用:

{
    use re 'debug';
    # Debugged regexp here.
}
Run Code Online (Sandbox Code Playgroud)