如何在perl one liner中查看由n或p开关生成的代码块

时间:2014-09-18 11:25:58

标签: perl perl-module

我确信我之前已经使用过这个版本但是因为我的生活在perlrun或Google中找不到任何参考。 希望这里的一些perl boffins能够回答它。 使用-ne开关运行perl one衬管时。是否有选项可以将perl编译的代码输出到控制台?

所以,如果我跑:

crontab -l | perl -ne 'print if /^00/'

然后Perl会将其编译为:

while(<>){
   print if /^00/;
}

我确信有一种方法可以让perl吐出它将要使用的代码,包括任何开始或结束块。希望有人知道如何。

2 个答案:

答案 0 :(得分:10)

您可能会考虑B::Deparse功能:

perl -MO=Deparse -ne 'print if /^00/'

答案 1 :(得分:3)

尝试

perl -MO=Deparse -ne 'print if /^00/'

它将为您提供如下输出:

LINE: while (defined($_ = <ARGV>)) {
    print $_ if /^00/;
}
-e syntax OK