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.
[See also: Lingua::Num2Word, which is a cool wrapper for number -> word converters in serveral languages.]
This module converts numbers to the English equivalent (for example 20 => "Twenty"), in either American or European style. The module is object-oriented, but makes heavy use of class variables, which is a serious weakness IMO.
Compare to Number::Spell, which has less functionality but a simpler interface.
It does what it says: you give it a number and it gives you that number represented in English. To be honest, it's missing features (non-US English, for one thing) and not super-elegant, but it Just Works, and I can drop it into my projects without having to think about it. Good enough for me!