questions about =cut

[email protected] (Ricardo SIGNES)
Newsgroups perl.pod-people
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.