/usr/share/perl5/Pod/Simple
NameSizeModeActions
BlackBox.pm636480644editdlrm
Checker.pm53650644editdlrm
Debug.pm46090644editdlrm
DumpAsText.pm39730644editdlrm
DumpAsXML.pm45800644editdlrm
HTML.pm290930644editdlrm
HTMLBatch.pm406050644editdlrm
HTMLLegacy.pm27580644editdlrm
LinkSection.pm43410644editdlrm
Methody.pm35620644editdlrm
Progress.pm24130644editdlrm
PullParser.pm249050644editdlrm
PullParserEndToken.pm28790644editdlrm
PullParserStartToken.pm41410644editdlrm
PullParserTextToken.pm31660644editdlrm
PullParserToken.pm39930644editdlrm
RTF.pm216500644editdlrm
Search.pm332900644editdlrm
SimpleTree.pm45870644editdlrm
Subclassing.pod285170644editdlrm
Text.pm51280644editdlrm
TextContent.pm25400644editdlrm
TiedOutFH.pm27370644editdlrm
Transcode.pm6990644editdlrm
TranscodeDumb.pm11890644editdlrm
TranscodeSmart.pm6740644editdlrm
XHTML.pm205430644editdlrm
XMLOutStream.pm49370644editdlrm
Edit: /usr/share/perl5/Pod/Simple/LinkSection.pm (4341B)
require 5; package Pod::Simple::LinkSection; # Based somewhat dimly on Array::Autojoin use vars qw($VERSION ); $VERSION = '3.13'; use strict; use Pod::Simple::BlackBox; use vars qw($VERSION ); $VERSION = '3.13'; use overload( # So it'll stringify nice '""' => \&Pod::Simple::BlackBox::stringify_lol, 'bool' => \&Pod::Simple::BlackBox::stringify_lol, # '.=' => \&tack_on, # grudgingly support 'fallback' => 1, # turn on cleverness ); sub tack_on { $_[0] = ['', {}, "$_[0]" ]; return $_[0][2] .= $_[1]; } sub as_string { goto &Pod::Simple::BlackBox::stringify_lol; } sub stringify { goto &Pod::Simple::BlackBox::stringify_lol; } sub new { my $class = shift; $class = ref($class) || $class; my $new; if(@_ == 1) { if (!ref($_[0] || '')) { # most common case: one bare string return bless ['', {}, $_[0] ], $class; } elsif( ref($_[0] || '') eq 'ARRAY') { $new = [ @{ $_[0] } ]; } else { Carp::croak( "$class new() doesn't know to clone $new" ); } } else { # misc stuff $new = [ '', {}, @_ ]; } # By now it's a treelet: [ 'foo', {}, ... ] foreach my $x (@$new) { if(ref($x || '') eq 'ARRAY') { $x = $class->new($x); # recurse } elsif(ref($x || '') eq 'HASH') { $x = { %$x }; } # otherwise leave it. } return bless $new, $class; } # Not much in this class is likely to be link-section specific -- # but it just so happens that link-sections are about the only treelets # that are exposed to the user. 1; __END__ # TODO: let it be an option whether a given subclass even wants little treelets? __END__ =head1 NAME Pod::Simple::LinkSection -- represent "section" attributes of L codes =head1 SYNOPSIS # a long story =head1 DESCRIPTION This class is not of interest to general users. Pod::Simple uses this class for representing the value of the "section" attribute of "L" start-element events. Most applications can just use the normal stringification of objects of this class; they stringify to just the text content of the section, such as "foo" for C<< LZ<> >>, and "bar" for C<< LZ<>> >>. However, anyone particularly interested in getting the full value of the treelet, can just traverse the content of the treeleet @$treelet_object. To wit: % perl -MData::Dumper -e "use base qw(Pod::Simple::Methody); sub start_L { print Dumper($_[1]{'section'} ) } __PACKAGE__->new->parse_string_document('=head1 Lbaz>>') " Output: $VAR1 = bless( [ '', {}, 'b', bless( [ 'I', {}, 'ar' ], 'Pod::Simple::LinkSection' ), 'baz' ], 'Pod::Simple::LinkSection' ); But stringify it and you get just the text content: % perl -MData::Dumper -e "use base qw(Pod::Simple::Methody); sub start_L { print Dumper( '' . $_[1]{'section'} ) } __PACKAGE__->new->parse_string_document('=head1 Lbaz>>') " Output: $VAR1 = 'barbaz'; =head1 SEE ALSO L =head1 SUPPORT Questions or discussion about POD and Pod::Simple should be sent to the pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, L. Feel free to fork and contribute, or to clone L and send patches! Patches against Pod::Simple are welcome. Please send bug reports to . =head1 COPYRIGHT AND DISCLAIMERS Copyright (c) 2004 Sean M. Burke. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. =head1 AUTHOR Pod::Simple was created by Sean M. Burke . But don't bother him, he's retired. Pod::Simple is maintained by: =over =item * Allison Randal C =item * Hans Dieter Pearcey C =item * David E. Wheeler C =back =cut