All I can say is WOOHOO!! Finally it is working!!

I going to have such a blast this week running all my scripts with pp
instead of perlapp. No more license problems.... ahh what a relief!

Daniel Shane



-----Original Message-----
From: Autrijus Tang [mailto:[EMAIL PROTECTED]
Sent: Monday, December 29, 2003 9:27 PM
To: Nick Ing-Simmons
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Problem Solved! (was Re: PAR panicks with utf8's swash_fetch)


Nick Ing-Simmons wrote:
> I know roughly how swash stuff works, but not what PAR is.
> The 'swash' stuff is used for uc/lc and the like when chars > 0x100
> are involved. Snag is perl uses regular expressions to load the
> tables - so if 1st use of table is in a regular expression odd things
> happen.

Thanks!  That was enough hint for me to track this bug down.

For Perl 5.8.x, it turns out it's my fault -- Module::ScanDeps forgot to
include unicore/To/* in its heuristics.  0.34 has been released to CPAN
and here:

        http://aut.dyndns.org/dist/Module-ScanDeps-0.34.tar.gz

Upgrading to 0.34 should fix the problem for 5.8.x users right away.

For Perl 5.6.x, the bug is more elusive; it turns out line 30 of
utf8_heavy.pl's SWASHNEW does not assign anything to $list:

     $list ||= eval { $caller->$type(); }
        || do "$file.pl"
        || do "$encoding/$file.pl"
        || do "$encoding/Is/${type}.pl"
        || croak("Can't find $encoding character property definition via
$caller->$type or $file.pl");

Strangely, replacing the ||= operator with "unless" fixed this problem:

     $list = eval { $caller->$type(); }
        || do "$file.pl"
        || do "$encoding/$file.pl"
        || do "$encoding/Is/${type}.pl"
        || croak("Can't find $encoding character property definition via
$caller->$type or $file.pl") unless $list;

This workaround will be available in PAR 0.77; 5.6.x users with a C
compiler are encouraged to try out the snapshot build
(http://p4.elixus.org/snap/PAR.tar.gz) and see if it works for them.

> What does 'pp' do - can the above be "expanded" into normal perl?

"pp" turns Perl programs into ready-to-run executables.
See http://par.perl.org/?Features for more information. :-)

Thanks,
/Autrijus/

Reply via email to