What to do about L<Foo Bar> and L<"Foo Bar">

[email protected] (Karl Williamson) Mon, 28 May 2018 21:49:50 -0600
Newsgroups perl.pod-people
Message-ID <[email protected]>
podspec says this:

Previous versions of perlpod allowed for a "L<section>" syntax (as in
"L<Object Attributes>"), which was not easily distinguishable from
"L<name>" syntax and for "L<"section">" which was only slightly less
ambiguous. This syntax is no longer in the specification, and has been
replaced by the "L</section>" syntax (where the slash was formerly
optional). Pod parsers should tolerate the "L<"section">" syntax, for
a while at least. The suggested heuristic for distinguishing
L<section>" from "L<name>" is that if it contains any whitespace,
it's a section. Pod processors should warn about this being deprecated
syntax.

Pod:Simple accepts these without complaint.

If I change things to complain, a bunch of things in the perl core are 
found to be in violation, even of the deprecated syntax.

The question is what to do?

1) We could leave things as they always have been, to let sleeping dogs 
lie.  It's worked for so long that we're not seriously going to stop 
accepting these.

2) Raise the warnings, either on both cases or just the deprecated

3) Don't raise warnings, but change Pod::Checker to do so, under the 
theory that you won't be using that unless you want to know the iffy 
things.  Maybe make the deprecated come out always, and the tolerated 
only for level 2 warnings.

I'm leaning towards option 3).