⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 methody.pm

📁 source of perl for linux application,
💻 PM
字号:
require 5;package Pod::Simple::Methody;use strict;use Pod::Simple ();use vars qw(@ISA $VERSION);$VERSION = '2.02';@ISA = ('Pod::Simple');# Yes, we could use named variables, but I want this to be impose# as little an additional performance hit as possible.sub _handle_element_start {  $_[1] =~ tr/-:./__/;  ( $_[0]->can( 'start_' . $_[1] )    || return  )->(    $_[0], $_[2]  );}sub _handle_text {  ( $_[0]->can( 'handle_text' )    || return  )->(    @_  );}sub _handle_element_end {  $_[1] =~ tr/-:./__/;  ( $_[0]->can( 'end_' . $_[1] )    || return  )->(    $_[0]  );}1;__END__=head1 NAMEPod::Simple::Methody -- turn Pod::Simple events into method calls=head1 SYNOPSIS 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) = @_;   ... } ...and start_/end_ methods for whatever other events you want to catch.=head1 DESCRIPTIONThis class is ofinterest to people writing Pod formatters based on Pod::Simple.This class (which is very small -- read the source) overridesPod::Simple's _handle_element_start, _handle_text, and_handle_element_end methods so that parser events are turned into methodcalls. (Otherwise, this is a subclass of L<Pod::Simple> and inherits allits methods.)You can use this class as the base class for a Pod formatter/processor.=head1 METHOD CALLINGWhen Pod::Simple sees a "=head1 Hi there", for example, it basically doesthis:  $parser->_handle_element_start( "head1", \%attributes );  $parser->_handle_text( "Hi there" );  $parser->_handle_element_end( "head1" );But if you subclass Pod::Simple::Methody, it will instead do thiswhen it sees a "=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');If Pod::Simple sends an event where the element name has a dash,period, or colon, the corresponding method name will have a underscorein its place.  For example, "foo.bar:baz" becomes start_foo_bar_bazand end_foo_bar_baz.See the source for Pod::Simple::Text for an example of using this class.=head1 SEE ALSOL<Pod::Simple>, L<Pod::Simple::Subclassing>=head1 COPYRIGHT AND DISCLAIMERSCopyright (c) 2002 Sean M. Burke.  All rights reserved.This library is free software; you can redistribute it and/or modify itunder the same terms as Perl itself.This program is distributed in the hope that it will be useful, butwithout any warranty; without even the implied warranty ofmerchantability or fitness for a particular purpose.=head1 AUTHORSean M. Burke C<sburke@cpan.org>=cut

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -