Apologies first because I'm sure this must already have been discussed.

I've recently been going over the Parrot source with podchecker to iron out the pod errors. I was a bit surprised to discover that what is an error for podchecker is not necessarily an error for perl.

Whereas perl seems simply to parse out everything from the start of a line beginning with = to the end of a line beginning with =cut, podchecker uses POD::Parser's parse_from_filehandle() to processes paragraphs at a time. This can lead to podchecker errors like "Spurious text after =cut" which perl seems to ignore.

Also, POD::Parser's approach fails to distinguish between pod in strings and here documents, and pod at file level. I ended up interpolating pod commands into strings etc in order to get podchecker to ignore them.

The question I have in relation to this is does perl parse pod correctly? The perlpod doc seems to imply that podchecker's para-based approach is correct. Though it doesn't seem to mention how pod in multiline strings will be treated.

Is perl just being lenient? I'm wondering which standard to enforce.

I'm using perl 5.8.1 on OS X.

Mike

Reply via email to