Re: Pod::Simple can treat binary as pod due to liberal/inconsistent regexp patterns

[email protected] ("David E. Wheeler") Thu, 8 Jan 2015 09:00:33 -0800
Newsgroups perl.pod-people
Message-ID <[email protected]>
On Jan 7, 2015, at 10:18 PM, Marek Rouchal <[email protected]> wrote:

> IIRC the first "liberal" rx is to detect start of POD just like the Perl (language) parser does, i.e. it pauses parsing for instructions until the next =cut

Oh. Can someone dig into the Perl parser and confirm this?

> I think POD parsers should do the same.

My suspicion is that, even if that’s true, the Parser ignores everything in a __DATA__ or __END__ block.

Anyway, even if Perl is more lenient, that doesn’t mean a Pod parser needs to be. What is and is not valid Pod is quite well-defined in perlpodspec, so I suspect taht we can afford to be a bit stricter.

> If the matched pod-start sequence does not match any of the known commands, it's an error condition, and we should discuss what to do then, like 
> - throw exception 
> - print error and/or call error callback
> - warn and treat the content as a plain text paragraph

It might be valid Perl.

my $foo = q{
=sîî
};

So I think it would be better just to be stricter in what we consider to be Pod.

Best,

David
smime.p7s (application/pkcs7-signature, 4 KB) - not displayed