Reviews by Ivan Kohler


JSON-XS (3.01) *

tl;dr summary: Use Cpanel::JSON::XS instead.

This module filled a useful need in the past, but it has not been maintained in over two years. The maintainer is difficult to work with, not accepting bug reports via and often replying with abuse.

Unless you have a legacy need for this module, Cpanel::JSON::XS is almost certainly a better fit for current needs.

EV (4.21) *

Unfortunately the author is exceedingly difficult to work with, to the point where it makes me stop and consider before depending on _any_ of his modules.

No public bug tracker is provided, and instead of pointing his module to one, the author prefers to respond with a form letter rant about

In response to bug report, sends personal insults and suggests multiple times that I kill myself. I suggest avoiding his software entirely.

Date-Calc (6.3) *

Date::Calc was a really useful module in its day.

Now, it is 2015 and the module has not been maintained since 2009. It just started failing its own test suite because the year changed over to 2015.

In new code, you should consider modern alternatives, like DateTime.

Business-OnlinePayment-AuthorizeNet-AIM-ErrorCodes (0.01)

This is just an informative note that we have incorporated this module into the base Business::OnlinePayment::AuthorizeNet distribution, as of version 3.22.

Business-OnlinePayment-CyberSource (2.01) *****

I'd just like to point out Michael Czeiszperger's review is talking about the CyberSource company/service itself, not about the code of this module which interfaces with them.

I have no opinion on Cybersource the company/service, but if you find yourself needing to integrate with them, this is the module for it, and it is written well. :)

2012 addenum to my original review from 2008: Kudos to Caleb Cushing for taking over maintenance of the module and updating it for modern standards.

HTML-GoogleMapsV3 (0.01) **

No documentation. Appears to share an interface with HTML::GoogleMaps, but digging a bit reveals only the onload_render, center, add_polyline and load_kml methods are implemented. add_marker is, sadly, unimplemented.

Made me waste time because it declares a completely bogus dependency on the obsolete Geo::Google, but actually depends on Geo::Coder::Google.

Still, the only thing on CPAN among the dozen obsolete Google Maps modules which is a starting point at talking to the V3 API, and it is a 0.01 version, so in the spirit of "release early", two stars overall for now. Hopefully more features in future versions, or perhaps incorporation into HTML::GoogleMaps.

Net-Braintree (0.1.3)

Perl has a standard interface for payment gateways: Business::OnlinePayment. This module (presumably, there is no documentation) implements its own one-off interface instead. It is the equivalent of a database access module that isn't a DBD::

Net-SMTP-TLS (0.12)

This module was good in its day, but it has not been updated in five years. These days you may want Net::SMTP::TLS::ButMaintained.

String-Approx (3.26) ****

Have used this module for years; it has always worked well for me in providing basic approximate matching capabilities.

The other review seems a bit harsh. The module gets the job done, is maintained, has decent documentation and a test suite. The guts may not be pristine and not every single function may be UTF-8 clean, but I've seen a lot worse.

Plus it isn't like there are any alternatives for approximate matching modules, so go ahead and use it, it won't hurt.

Email-Sender (0.100110) *****

Email::Sender is the future. Stop looking at the proliferation of mail modules on CPAN and use this one!

I'm extremely happy to have replaced my half-baked email sending code with Email::Sender.

Really slick how it lets you pass plaintext or any object Email::Abstract can understand; it allowed me to wedge this into my existing code.

Despite the minimal documentation, it covered everything I needed.


Just works.

Has options when you need them.

Easy to integrate with legacy code due to use of Email::Abstract.


Email::Sender::Transport::SMTP::TLS is packaged separately.

Not in Debian 5.0 (but will be in 6!)

Not yet a core module (but it should be!)

Net-SFTP-Foreign (1.55) *****

Perfectly meets all our SFTP-ing needs. Well documented, good interface including a Net::SFTP compatibility mode, actively maintained. Preferable in most environments to Net::SFTP (and the documentation even includes a section on pros and cons!).

HTML-Widgets-SelectLayers (0.07) *

Do not use this module for new projects!

It contains large amounts of form-copying cruft no longer necessary with any modern browser from the last decade, and it has been abandoned by the author for anything but legacy code that still needs it. Take a look at the generated HTML and javascript to re-implement if you must.

Normally it is bad practice to rate your own module, but in this case I think it is acceptable. :)

Tie-IxHash (1.21) *****

An invaluable module that has saved me countless hours of time. Perl really should incorporate ordered hashes natively, but until then, this module saves the day.

Net-Whois-Raw (2.00) *****

A well-documented, easy to use module that provides modern access to whois data. It even web-scrapes from the registrars that don't offer proper whois service.

Net-Whois (1.9) *

Fundamental changes in the distributed whois system have rendered this module obsolete.

See Net::Whois::Raw for something useful currently.

Locale-SubCountry (1.41) ****

An invaluable module that I have used for years. As a previous reviewer suggested, it can be more useful to populate a data store than loaded in a running application, though 2MB isn't really much these days.

The only reason I cannot yet rate it 5 stars is the module does not yet supply UTF-8 encoded data. Hopefully the patch in RT#38559 can be applied soon.

Authen-Passphrase (0.006) ****

Pros: A complete swiss-army knife for managing password strings. I maintain a large project which requires the ability to authenticate all sorts of passwords, DES crypt, MD5, Blowfish, LDAP encodings, this module does it all.

Cons: A twisty maze of odd dependencies, all alike.

Business-OnlinePayment-Protx (0.04) *****

Unlike previous versions, the new 0.04 release is an interoperable Business::OnlinePayment module, implementing the common interface. Bravo!