Как я могу напечатать синтаксическое дерево всех функций в программе Perl? - PullRequest
1 голос
/ 24 октября 2009

perl -MO = Краткий, -exec myprog.pl

должен это сделать, но он печатает только синтаксис строк, которые находятся вне каких-либо процедур, и сам основной пакет. Он не печатает синтаксическое дерево пакетов и функций, используемых в myprog и импортированных. Может кто-нибудь сказать мне, как сказать "B :: Concise" для печати всех функций в myprog.pl.

1 Ответ

4 голосов
/ 25 октября 2009

Из документации :

Аргументы, которые не начинаются с дефиса, считаются именами подпрограмм для рендеринга; если такие функции не указаны, отображается основная часть программы (вне подпрограмм, не включая файлы use'd или require'd).

Чтобы ввести подпрограмму mysub(), а также распечатать синтаксическое дерево самого основного пакета, используйте perl -MO=Concise,-exec,-main,mysub myprog.pl. Нет опции, означающей «все сабы» - вы должны явно указать каждый из них по имени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...