I thought we'd fixed the problems you had.
No, there were two parts. There was the big issue, on which, I thought
we'd agreed to differ and there were a number of smaller issues about
minor details which you have fixed in the version that'll ship with
5.10.
OK this is also partly an issue of tense when we speak of "now". When
I speak of "The Perl FAQ" in the present tense (without further
qualification) I refer to the FAQ as released with the current
x.even.x release of Perl.
http://search.cpan.org/~rgarcia/perl/pod/perlfaq4.pod#How_can_I_expand_variables_in_text_strings?
This is much much better that in used to be in that it fixes the
mistakes in what it was trying to say.
But it still a "half truth" in so far as it doesn't show people the
simple, obvious (and very dangerous) solution using eval(STRING) and a
here-doc.
In my experience, when most people ask come to the FAQ with a question
for which the closest approximation in the FAQ is "How can I expand
variables in text strings?" the question that's actually in their mind
is "How do I evaluate the contents of a scalar variable as if it were
a double-quotish string in Perl source?". The question the FAQ chooses
to answer is "How do I implement string templates in Perl?". In some
sense this is the right question to answer because the reader could
quite possibly be in an X-Y situation.
However since the question that's actually Frequently Asked is "How do
I evaluate the contents of a scalar variable as if it were a double-
quotish string in Perl source?" and since there exists a simple answer
to that question, IMNSHO it's somewhat intellectually dishonest not
to mention that answer.
[ slightly out of the original context, brian asked ... ]
Now you're calling me a liar?
I consider it unhelpful to characterise my opinion that the answer in
5.9.5 remains somewhat intellectually dishonest with emotive terms
like "calling you a liar". But if you choose to see it that way then I
suppose I am.
Some people (maybe even you) have argued that the FAQ should not
include the simple answer because executing data is fraught with
dangers. The problem with this is, as I've said so many times before,
that when people come up with (or otherwise come across) the simple
solution they'll typically:
1) Not figure out the here-doc bit so get an inferior eval-based
solution.
2) Loose trust in the FAQ and/or feel insulted.
3) Not realise just how dangerous the simple eval-based solution can
be.
I stand by the position I've held consistently for many years. The FAQ
should mention, at least by reference, the eval-based templating
solution so that people can see it, be made fully aware of the danger
and make in informed choice whether or not to use it.