Hello Pod People, A simple (yet lengthy) question on verbatim paragraphs that immediately follow an =item command, and how Pod::Simple treats them:
Given the following POD, =over =item * verbatim code snippet =back Should the =item be considered empty, followed by a verbatim paragraph, or should the =item's contents include the verbatim paragraph? I think the general understanding is that the content of an =item extends until the next =item command. (I found nothing in perlpodspec stating this, but I have always known it to be this way.) This supports the latter interpretation. What brought this technicality to my attention is that Pod::Simple interprets it as the former (emphasis added): $ perl -MPod::Simple::DumpAsText -E'exit > Pod::Simple::DumpAsText->filter(shift)->any_errata_seen' test_verb.pod > ++Document > \ "start_line" => "1" > ++over-bullet > \ "indent" => "4" > \ "start_line" => "1" > * ++item-bullet > \ "start_line" => "3" > --item-bullet > ++VerbatimFormatted > \ "xml:space" => "preserve" > \ "start_line" => "5" > * " verbatim code snippet" > --VerbatimFormatted* > --over-bullet > --Document > It can be seen that the item-bullet was empty, followed by a verbatim paragraph. Contrast that with a *non-verbatim* paragraph immediately following an =item command (emphasis added): $ perl -MPod::Simple::DumpAsText -E'exit > Pod::Simple::DumpAsText->filter(shift)->any_errata_seen' test_verb.pod > ++Document > \ "start_line" => "1" > ++over-bullet > \ "indent" => "4" > \ "start_line" => "1" > * ++item-bullet > \ "start_line" => "3" > * "a non-verbatim paragraph" > --item-bullet* > --over-bullet > --Document > Note that the "a non-verbatim paragraph" text is present within the item-bullet, unlike the previous example. The Pod::Simple::Subclassing documentation states: > When an "=over ... =back" block is parsed where the items are a bulleted > list, it will produce this event structure: > > <over-bullet indent="4" start_line="543"> > <item-bullet start_line="545"> > ...Stuff... > </item-bullet> > ...more item-bullets... > </over-bullet fake-closer="1"> > > Note that it states there should only be item-bullet events, and nothing else in between, before, or after. This is a contradiction, and I am not sure which should be correct: the code or the docs. Experimenting more, it looks like Pod::Simple only considers the *first* normal paragraph as the item's contents, with following paragraphs remaining outside the item-bullet event (emphasis added): $ perl -MPod::Simple::DumpAsText -E'exit > Pod::Simple::DumpAsText->filter(shift)->any_errata_seen' test_verb.pod > ++Document > \ "start_line" => "1" > ++over-bullet > \ "indent" => "4" > \ "start_line" => "1" > * ++item-bullet > \ "start_line" => "3" > * "first paragraph" > --item-bullet > ++Para > \ "start_line" => "7" > * "second paragraph" > --Para* > --over-bullet > --Document > Thoughts on this behavior? I feel that the content's of an =item should be contained within that =item's item-bullet event, instead of partially in, partially out. Thank you, Marc