内容

名称

Pod::Simple::Methody -- 将 Pod::Simple 事件转换为方法调用

概要

require 5;
use strict;
package SomePodFormatter;
use base qw(Pod::Simple::Methody);

sub handle_text {
  my($self, $text) = @_;
  ...
}

sub start_head1 {
  my($self, $attrs) = @_;
  ...
}
sub end_head1 {
  my($self) = @_;
  ...
}

...以及您想要捕获的任何其他事件的 start_/end_ 方法。

描述

此类对编写基于 Pod::Simple 的 Pod 格式化程序的人员很有用。

此类(非常小 - 阅读源代码)覆盖了 Pod::Simple 的 _handle_element_start、_handle_text 和 _handle_element_end 方法,以便解析器事件被转换为方法调用。(否则,这是一个 Pod::Simple 的子类,并继承了它的所有方法。)

您可以将此类用作 Pod 格式化程序/处理器 的基类。

方法调用

例如,当 Pod::Simple 看到 "=head1 Hi there" 时,它基本上会执行以下操作

$parser->_handle_element_start( "head1", \%attributes );
$parser->_handle_text( "Hi there" );
$parser->_handle_element_end( "head1" );

但是,如果您是 Pod::Simple::Methody 的子类,当它看到 "=head1 Hi there" 时,它将执行以下操作

$parser->start_head1( \%attributes ) if $parser->can('start_head1');
$parser->handle_text( "Hi there" )   if $parser->can('handle_text');
$parser->end_head1()                 if $parser->can('end_head1');

如果 Pod::Simple 发送一个事件,其中元素名称包含连字符、句点或冒号,则相应的函数名称将用下划线代替。例如,“foo.bar:baz” 将变为 start_foo_bar_baz 和 end_foo_bar_baz。

请参阅 Pod::Simple::Text 的源代码以了解使用此类的示例。

另请参阅

Pod::SimplePod::Simple::Subclassing

支持

有关 POD 和 Pod::Simple 的问题或讨论,请发送邮件至 [email protected] 邮件列表。发送空邮件至 [email protected] 订阅。

此模块在开放的 GitHub 仓库中进行管理,https://github.com/perl-pod/pod-simple/。欢迎您随意 fork 并贡献,或克隆 git://github.com/perl-pod/pod-simple.git 并发送补丁!

欢迎您针对 Pod::Simple 发送补丁。请将错误报告发送至 <[email protected]>。

版权和免责声明

版权所有 (c) 2002 Sean M. Burke。

此库是自由软件;您可以根据与 Perl 本身相同的条款重新分发和/或修改它。

此程序按“现状”提供,不附带任何形式的明示或暗示的保证,包括但不限于适销性保证和特定用途适用性的保证。

作者

Pod::Simple 由 Sean M. Burke <[email protected]> 创建。但请不要打扰他,他已经退休了。

Pod::Simple 由以下人员维护: