内容

名称

B::Terse - 遍历 Perl 语法树,打印关于操作符的简洁信息

概要

perl -MO=Terse[,OPTIONS] foo.pl

描述

此模块打印解析树的内容,但信息量不如 CPAN 模块 B::Debug。 作为比较,print "Hello, world." 从 B::Debug 生成了 96 行输出,而从 B::Terse 仅生成了 6 行。

此模块对正在编写自己的后端或正在学习 Perl 内部机制的人很有用。 它对普通程序员没有用。

此版本的 B::Terse 实际上只是一个包装器,它使用 -terse 选项调用 B::Concise。 它为了与旧脚本(和习惯)兼容而提供,但现在建议直接使用 B::Concise。

为了与旧的 B::Terse 兼容,此模块还在 B::OP 和 B::SV 对象中添加了一个名为 terse 的方法。 B::SV 方法与旧方法基本兼容,尽管新软件的作者可能建议选择更友好的输出格式。 然而,B::OP terse 方法并不适用。 自 B::Terse 首次编写以来,OP 中的更多信息已迁移到 scratchpad 数据结构,但 terse 接口无法获取正确的 pad。 作为一种权宜之计,新版本将始终使用主程序的 pad,但对于子程序中的 OP,这将给出错误的答案或崩溃。

作者

B::Terse 的原始版本由 Malcolm Beattie 编写,<[email protected]>。这个包装器由 Stephen McCamant 编写,<[email protected]>。