This is driving me up the wall.
The ppd target currently looks something like this:
ppd:
$(NOECHO) $(PERL) -e "print qq{<SOFTPKG NAME=\"$(DISTNAME)\" VERSION=\"6
,05,0,0\">\n\t<TITLE>$(DISTNAME)</TITLE>\n\t<ABSTRACT></ABSTRACT>\n\t<AUTHOR></A
UTHOR>\n}" > $(DISTNAME).ppd
Take a string, shove it in a file.
The problem comes with shell quoting. What if the string contains a double
quote? Well, you escape it with a \" right? Except on VMS where its "".
And then there's problems on Unix. Double quoted strings are
interpolated, so you have to escape out dollar signs and other shell
variables.
All this makes writing a simple command to write an arbitrary string to a
file really difficult and worse it scatters escaping code all over
MakeMaker. It can't possibly be this bad.
I'm tempted to come up with some sort of method which you pass in some perl
code and it generates a platform-specific, safe one-liner. That sort of
solution rapidly gets complicated as you can see from the runperl() function
in t/test.pl in the core, but it might at least let us put all the
complications in one place.
Thoughts?
--
Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/
Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One
It wasn't false, just differently truthful.
-- Abhijit Menon-Sen in <[EMAIL PROTECTED]>