/usr/share/doc/libpod-elemental-perl/examples/demo-pod is in libpod-elemental-perl 0.102361-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | #!/usr/bin/perl
use strict;
use warnings;
use Moose::Autobox;
use Pod::Eventual::Simple;
use Pod::Elemental;
use Pod::Elemental::Selectors -all;
use Pod::Elemental::Transformer::Pod5;
use Pod::Elemental::Transformer::Nester;
use Pod::Elemental::Transformer::Gatherer;
my $str = do { local $/; <DATA> };
my $document = Pod::Elemental->read_string($str);
print "## INPUT DOCUMENT:\n\n";
print $str, "\n\n";
print "## INITIAL DOCUMENT LOAD:\n\n";
print $document->as_debug_string, "\n\n";
Pod::Elemental::Transformer::Pod5->transform_node($document);
print "## AFTER TRANSFORM TO POD5:\n\n";
print $document->as_debug_string, "\n\n";
my $nester = Pod::Elemental::Transformer::Nester->new({
top_selector => s_command([ qw(head1 method) ]),
content_selectors => [
s_flat,
s_command( [ qw(head2 head3 head4 over item back) ]),
],
});
my $gatherer = Pod::Elemental::Transformer::Gatherer->new({
gather_selector => s_command([ qw(method) ]),
container => Pod::Elemental::Element::Nested->new({
command => 'head1',
content => "METHODS\n",
}),
});
$nester->transform_node($document);
print "## AFTER NESTING HEAD1 AND METHOD ELEMENTS:\n\n";
print $document->as_debug_string, "\n\n";
$gatherer->transform_node($document);
print "## AFTER GATHERING METHOD ELEMENTS UNDER CONTAINER:\n\n";
print $document->as_debug_string, "\n\n";
$gatherer->container->children->grep(s_command('method'))->each_value(sub {
$_->command('head2');
});
print "## AFTER TRANSFORMING METHOD ELEMENTS TO HEAD2:\n\n";
print $document->as_debug_string, "\n\n";
print "## FINAL POD OUTPUT:\n\n";
print $document->as_pod_string;
__DATA__
=pod
Ordinary Paragraph 1.1
=begin :dialect Pod7
This is a paragraph.
=image foo
=end :dialect
=head1 Header 1.1
=head2 Header 2.1
=method foo
Ordinary Paragraph 2.1
=over 2
=item * bar
=back
=head2 Header 2.2
Ordinary Paragraph 2.2
=head3 Header 3.1
=over 4
=item * foo
=back
=head1 Header 1.2
Ordinary Paragraph 2.3
Ordinary Paragraph 2.4
=begin comments
This is a big comment I have to write down.
It's not important, but it goes on and on.
=end comments
=method quux
Ordinary Paragraph 2.4
=cut
=method quince
my $method = $obj->quince(1,2,3);
The above will work.
The following will not:
my $method = $obj->quince(3,2,1);
=cut
sub quince {
my ($self, @args) = @_;
die unless increasing(@args);
return ordinality(@args);
}
=pod
Is that clear?
|