JE, version 0.042

JE is a pure-Perl ECMAScript (JavaScript) engine. Here are some of its advantages:

Here are its main weakness:

This is still an alpha release. The core objects are not yet complete, but as long as you don't need all the methods of dates (more precisely, those beginning with â€~setâ€TM), this module is actually usable.

If you have the time and the interest, please experiment with this module (or maybe even lend a hand :-). If you have any ideas as to how the API could be improved or reworked, please e-mail me.

CHANGES IN THIS RELEASE

New feature: We extend ECMAScript by treating hyphens in regexp character classes that are adjacent to \d, \s or \w always as literal hyphens and no longer as syntax errors (RT #51123). Bug fixes:
• JE::Numberâ€TMs id method has been fixed such that === and isNan now recognise positive NaN as NaN on Windows (RT #51036). • Parsing long strings no longer causes perl 5.8 to crash on Windows (see http://www.nntp.perl.org/group/perl.cpan.testers/2009/11 /msg5881496.html). I fixed this by reÃ&hibar;ncorporating part of Kevin Cameronâ€TMs code (RT #49607) that I had simplified to make it faster.

TO DO

INSTALLATION

The easiest way to install this module is to use the CPAN module or the cpan script:

[sudo] perl -MCPAN -e "install JE"

[sudo] cpan
cpan> install JE

Or you can use the following:

perl Makefile.PL
make
make test
[sudo] make install

PREREQUISITES

This module requires perl 5.8.3 or higher and the following modules: • Scalar::Util version 1.14 or later
• The TimeDate distribution (more precisely, Time::Zone, Date::Format and Date::Parse)
• Encode 2.08 or later

For perl versions earlier than 5.9.4 it also requires Tie::RefHash::Weak.

Later it will probably require Unicode::Collate.

There is a slight incompatibility with perl version 5.8.3. If you try to create a regular expression with invalid modifiers, you will get a warning as well as a SyntaxError. This causes one of the test scripts (parse08-regexps.t) to fail.

DOCUMENTATION

After installing, you can find documentation for this module with the perldoc command.

perldoc JE

Or try using man (it's faster, in my experience):

man JE

ACKNOWLEDGEMENTS

Thanks to Kevin Cameron [ kevin cameron com ] for his contributions,

to Max Maischein [ webmaster corion net ] for letting me use his tests,

to Andy Armstrong    [ andy        hexten net       ],
   Yair Lenga        [ yair lenga  gmail com        ],
   Alex Robinson     [ alex        solidgoldpig com ],
   Christian Forster [ boronk      boronk de        ] and
   Imre Rad          [ radimre     freemail hu      ]

for their suggestions,

and to the CPAN Testers for their helpful reports.

COPYRIGHT AND LICENCE

Copyright (C) 2007-9 Father Chrysostomos

This program is free software; you may redistribute it and/or modify it under the same terms as perl.