Reviews by Richard Jelinek


Module-CoreList (2.49) *****

"This module is golden", came to my mind, which probably translates to "godsend" in the other reviews.

It certainly has saved me numerous hours that would have been spent with research like "may we use this module and expect it to work at the customer out of the box?"

And we had no problems with our deployments by relying on this module.

Util-Any (0.06) *****

Been using this for quite some time. While docs and user interface are probably not 100%, also some bugs were encountered in the past, the overall rating is 5 stars. This is mainly due to the 6 stars responsiveness of its author. The time I'm writing this, I've been informed about a 0.07 version fixing a bug I reported over the weekend. Repeatedly very positive experience with authors maintenance attitude.

Text-Vpp (1.16) **

Buggy. Right now I did some fixes to 1.16 so the code works as intended even after using @INCLUDE and communicated this to the author. But honestly I feel discomfortable when looking at the source and knowing that this is part of some central infrastructure here at the company...

Lingua-NO-Num2Word (0.011) ****

4 Stars! Module is solid craft and moreover author is very
responsive and fixed a flaw quicklier than I recognized.
That's how things should be on CPAN. :-)

Lingua-Num2Word (0.06) *****

The 0.06 version gets a full 5 stars. This is how a CPAN module
should evolve. Added a bunch of supported modules, fixed bugs
cleaned up code, improved the docs. Now I like it.

-----------------this applies for 0.02 ---------------------------
Again a module where I may be biased. I rate this version 3 because It is something between 3 and 4. The idea is to provide a single easy interface for number to text conversions.

Unfortunatedly the documentation is quite unsophisticated and support for the Lingua::PL::Num2Word module is broken.

Recommendation: Wait for the next - highly improved - version.

Text-TransMetaphone (0.06) **

I'd really love to use this module, but can't get it to run -
it keeps complaining about some loadable object missing (though
everything is there). Tried to contact the author, but no
answer. Asked colleagues to try it out to make sure it's not
only my config. Same result.

It's a pitty.

Lingua-DE-Num2Word (0.02) ****

This is not quite "my module", but one that I have participated somewhat. As of version 0.01 it gets a mere 3 rating, as the
documentation could use quite some shape-up.

It is quite easy to use, but in fact is intended to serve as low-level module to the Lingua::Num2Word container.

Version 0.02 offers some bugfixes (for 16,17 and x00) and some
code clean-up and thus deserves 4 stars.

Lingua-EN-Numbers (0.01) ***

Seems to offer a good functionality in the Num2Word domain of Lingua:: modules. Unfortunatedly some handling is buggy as of 0.01, e.g.
300 returns Three-Hundred Zero, while 301 returns Three-Hundred One.

Lingua-JA-Number (0.01) ***

This module does what it announces: Convert a number to a numeral in romaji representation. I give 3 stars, because it is not quite the semantics that it should have, as romaji is just a phonetic transcription of native JA syllabes.

You have to use Lingua::JA::Romaji. More sound would be however, to have a native conversion and to use Lingua::JA::Romaji at will to get romaji representation.

Set-Scalar (1.19) ****

A very nice module, with a sound functionality and documentation. Although one can do easy set operations with some hash and homemade code (see Cookbook), this module provides the comfort one
wants sometimes when needing functionality fast.

The CAVEAT characterizes this module best: "The first priority of Set::Scalar is to be a convenient interface to sets. While not designed to be slow or big, neither has it been designed to be fast or compact."

Lingua-IT-Numbers (0.06) **

This module does the Number to Text conversion for italian numerals quite well - that is in the same manner as do nearly all the other Lingua::*::Number modules.

Unfortunatedly it has some serious drawbacks that lower the overall rating at least by two stars (would be 4 IMHO without these drawbacks). They are:

It requests perl 5.8.2 with no reason.

It requires the complete Regexp:: package with no reason making it the most bloated Lingua:: module I know.

Lingua::FA::Number / Lingua-FA-Number (1.0) *

This module is a typical "release early release often" aberration. I think the 1.0 version number is unjustified. The concrete drawbacks:

The documentation is wrong - misleading at best. The module does not convert numbers to Farsi, but only digits. It also does no conversion to a textual representation as such, but does only a offset + ord(digit) conversion - for HTML representation I suppose.

The functionality of the module is a one-liner, moreover it does not comply with the semantics of all other Lingua::<LANG>::{Number,Num2Word,...} modules.

Parse-RecDescent (1.94) ****

Clearly one of my favourite modules. I do not find it ease to use nor can I make any statement about the quality of the interface. But I am absolutedly willing to accept, that this is because of the sheer complexity of the functionality this module provides.

I would not hesitate to give it a straight 5 overall rating, if it
was not so slow (execution speed of the grammars).

Lingua-SV-Num2Word (0.04) ****

This module gets a "good 4", because it is solid craft for the number to text conversion for swedish. The documentation is a bit flaky though.

Tree-Nary (1.3) **

This module implements N-ary Trees. It says in the docs, that it is a reimplementation of some C code. If you look at the code (unfortunatedly one can not rate the code quality here), it truly is a 1:1 implementation. Even lists are implemented as a double linked list and e.g. examining the length of this list requiring an O(n) runtime.

Moreover, every node is considered an object with a hash as the underlying structure. This implies enormous memory usage if you happen to have several thousand of these Trees (each fully grown) in your memory.

The usage of native perl structures such as lists would be more apropriate. This module is suited for a prototype implementation,
not for production code.