in reply to POD translation to HTML bug?

Pod's "rules" are pretty loose. In general, you can take many liberties, and if things are rendered OK by pod2man and pod2html, you'll get away with it!

But according to perlpod:

"And perhaps most importantly, keep the items consistent: either use =item * for all of them, to produce bullets; or use =item 1., =item 2., etc., to produce numbered lists; or use =item foo, =item bar, etc.--namely, things that look nothing like bullets or numbers."

I would suggest that you want bullets:

=over =item * Foo =item * Bar =item * Baz =back

PS: as per the HTML spec, the closing </dt> tag is optional. XML::Parser complains because it's an XML parser (the clue is in the name!), not an HTML parser.

use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name

Replies are listed 'Best First'.
Re^2: POD translation to HTML bug?
by ajl52 (Novice) on Dec 05, 2013 at 14:11 UTC

    But pod2html is a misnomer because it outputs XHTML: its output file starts with declaration

    <?xml version="1.0" ?>

    followed by a DOCTYPE referencing explicitly XHTML:

    <!DOCTYPE html ...XHTML... !>

    and self-sufficient tags are legitimately closed with  /> contrary to HTML where some closing tags may be implicit (like </p> or </li>).

    Consequently, one would expect full XHTML compliance from pod2html output.

    When an empty =item is detected, the translation could be <dt /> or, if "void-ness" is discovered later, <dt></dt>.

    The behaviour seems to imply that =item cannot be void.

    The suggested fix has the inconvenient (for me) to add an extra line containing only the bullet, thus augmenting the vertical space occupied by the notes. I could, of course, use an &nbsp; as the title but it ends up also with extra space.

    Maybe the best interim fix would be an extra pass on the HTML file to detect if <dt> is immediately followed by <dd> and insert a </dt>.

    This can be done with simple Perl script.

      Seems that it might be simple to add an auto-close "feature" to pod2html. Not that it should do it, by default. But as an option. Given that the <img tag is already a self contained tag. It might be easy.

      --Chris

      #!/usr/bin/perl -Tw
      use Perl::Always or die;
      my $perl_version = (5.12.5);
      print $perl_version;