7

Perl 6 POD 文档有一节介绍如何使用$=pod. 没有关于访问另一个文件的 POD 文档的信息。

如何在不更改当前文件的情况下访问另一个文件的 POD 结构$=pod

4

2 回答 2

4

您现在可以使用Pod::Load做到这一点。从示例目录README

  perl6 -e 'use Pod::Load; .perl.say for load("pod-load-clean.pod6")'

请注意,Pod6 文件必须是“干净的”,即不使用任何通常不可用的外部模块,否则可能会失败。

于 2018-12-18T07:11:24.870 回答
2

我在 git@github.com:dmaestro/Module-Pod.git 的Module::Pod(即将发布)中创建了一个与文件系统无关的解决方案

use Module::Pod;

# Get all Pod::Block::* objects in the module, from its own $=pod
my @pod = pod-from-module(<My::Module>);

优点:

  • 没有文件代码的直接评估(即使在 Module::Pod 中)
  • 使用 CompUnit::Repository 和 kin 来定位模块
  • 可以use在代码中使用或不使用 -ing 模块用于其他目的
  • 如果模块已经加载,你可以调用它的类型对象

缺点:

  • 模块直接使用 nqp: 方法,如 Pod::Convenience (可能不是真正的骗局?)
  • 无法从 *.pod 文件中检索 pod

用于 Pod6 检查测试等。

于 2019-07-29T04:56:23.047 回答