如何在Perl程序中打印所有函数的语法树?

时间:2009-10-24 18:34:58

标签: perl syntax tree

perl -MO =简洁,-exec myprog.pl

应该这样做,但它只打印任何程序之外的行的语法,以及主程序包本身。它不会打印myprog和导入中使用的包和函数的语法树。 有人能告诉我如何告诉“B :: Concise”打印myprog.pl中的所有函数。

1 个答案:

答案 0 :(得分:4)

来自documentation

  

不以连字符开头的参数被视为要渲染的子例程的名称;如果没有指定这样的函数,则渲染程序的主体(在任何子程序之外,不包括use'd或require'd文件)。

因此,要输入子程序mysub(),并打印主程序包本身的语法树,请使用perl -MO=Concise,-exec,-main,mysub myprog.pl。没有选项意味着“所有潜艇” - 您必须通过名称明确指定每一个。