Dear Perl User,
Will you help Perl 6 development by sending a single email?
There's a new trick in development to support combined use of Perl 6 and Perl 5. It uses the PMC (Perl Module Compiled) feature, that so far has not been used much.
However, it has come to our attention that some packagers have disabled this feature, by supplying the PERL_DISABLE_PMC flag, probably for the tiny performance overhead.
We're trying to find out how wide spread the use of this flag is. If we want upgrading to Perl 6 to be gradual, I think this it is essential to convince packagers that they need to change their defaults.
To test if your packager has disabled the feature explicitly,
perl -V:ccflags
and see if PERL_DISABLE_PMC is in there. So far, only Mandriva Linux uses it,
to our knowledge. They have already agreed to change it in the next version.
To test if this feature works for your Perl, use:
echo print uc ok > test.pmc
perl -Mtest -le1
You should get "OK". Please send the output of "perl -V" to pmc@perlcabal.org,
and let us know what platform you use.
You will not receive replies, and your address will not be used for any other purposes than to ask you more about this specific issue. When we're done, all messages will be removed.
Thank you for helping.
Regards,
Freenode #perl6
-------
Notes:
feather:~ 107:$ echo 'sub abc { }' > foo.pmc
feather:~ 108:$ perl -Mfoo -le1
foo.pm did not return a true value.
BEGIN failed--compilation aborted.
perl has incorrectly reported the name of the file as foo.pm, not foo.pmc.
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.
Given what .pmc is for, I'd say reporting it on the .pm is correct. If you're abusing the mechanism, you get abusive error messages in return.
Even in original intent of .pmc, both in the .pm and in the .pmc, (different) things can go wrong. And they should be reported from the right file. Especially reporting an error in a file that doesn't exist is a bit silly.
For example, with the original Bytecode/Byteloader stuff, the PMC loads Byteloader with a version check. If that version check fails, the error is reported from the PM, which has nothing to do with the error. That makes debugging hard. Hiding the fact that there's another file involved, is bad.
Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }
perlmonks.org content © perlmonks.org and japhy, Juerd, merlyn
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03