I'm pretty sure that Pod::Eventual has a bug or two related to =cut, but I haven't written the tests yet because I'm not sure how I want to procede.
This POD: This is text. =head1 HEADER ...and some text. =cut Text again. results in something roughly like this: { type: text, content: "This is text.\n" } { type: command, command: head1, content: "HEADER\n...and some text.\n" } { type: command, command: cut, content: "\n" } { type: text, content: "Text again.\n" } In other words, content that is notionally part of the =cut command (because there has not yet been a para break) is not made part of the =cut event. That's because I emulated perl's behavior of going back to Perl on the line after =cut. Following perl isn't necessarily the right thing, since when Pod occurs inside a here-doc it is both part of the Perl document (perl thinks it's in code) and part of the Pod document (the existing Pod translators pick it up as Pod). So I think the right thing is to say that content after =cut and before a paragraph break is part of the =cut commant's content. (Sure, this is fairly academic, but it would be nice to reduce the scope of =cut's special casing.) Also: I know =cut doesn't "take" content or arguments. That's for a semantic parser to deal with. Eventual just finds events. The other case is this one: say "1"; =cut say "2"; =cut say "3"; perl will say 1 and 3. Does that mean that C<say "2";> is really inside Pod, or is that a quirk of perl? If so, is =cut just a misnamed =toggle? I wonder if perlpod.pod could use some updating. -- rjbs