Ratings and Reviews for CPAN


Rate a distribution

Find a distribution you would like to review:

Recent reviews (RSS feed)

SVN-DumpReloc (0.02) ****

Simple, small and nice tool which does it job as it should.

Beware of one missing feature: properties aren't changed (neither svn:log nor svn:mergeinfo).

Test-Needs (0.001001) *****

Nice. API is more convenient to use than Test::Requires, especially if you use subtests.

String-ProgressBar (0.03) *****

Does what it says on the tin. Thanks.

Git-Repository (1.317) *****

I have been using this module for several revisions over the last 2 years or so with great success. It improves with every update. It was also the only Git module I could ever get working in Windows and getting it working was easy.

HTTP-Command-Wrapper (0.07)

There are a few use-cases where this would be useful (mostly, to access https websites in the absence of required perl library like LWP::Protocol::https), but it would be more useful to provide an API that is already familiar to Perl programmers. That's why MIYAGAWA created HTTP::Tinyish.

Params-Validate (1.23) *****

I love this module. I use it extensively and it has improved the quality of my code by a lot.

File-Monitor (1.00)

File::Monitor __works in shared filesystem environment__ in which changes can be made by many different compute nodes (or the head node). I tested File::Monitor by running the monitor on the head node and making changes using a different node.

This is in stark contrast to Inotify-based modules and even Perl 6's notifications of file system changes (doc.perl6.org/routine/IO%3A%3ANotific... which only work if changes are made by the same system on which the monitoring process is running.

Anyway, I'm so happy to find this module. Once I get to know it better, I will commit to a "star rating". I expect and hope it will be five stars.

Class-Load (0.23) *

Class::Load is easy to use... until you discover its caveats.
For example try_load_class doesn't work properly with 'Sub::Util' See rt.cpan.org/Ticket/Display.html?id=11...

Use instead Module::Runtime (that Class::Load now uses under the hood).

File-Util (4.161200)

Point for documentation (lots of examples and cookbook). But the recipes in the cookbook currently don't really entice me to use the module. Let's see:

1) batch file rename: it's much simpler to use 'rename' or 'perlmv' utility. Or, it's much shorter to just use plain perl like 'for (grep {-f} <*>) { rename $_, s/\.log$/.txt/r }'.

2) recursively remove a directory tree: it's much shorter to just use 'File::Path::remove_tree()'.

3) increment a counter file: no locking (it's classic 1990's counter.cgi race condition all over again). Take a look at, for example, The Perl Cookbook chapter 7.11. Or I think one of Randal Schwartz's articles.

As an alternative, one can also take a look at Path::Tiny.

IP-China (20160412)

Disclosure: I wrote this module.

FFI-Platypus (0.41) *****

FFI::Platypus is an excellent module: It is easy to use due to wonderful documentation, which includes plenty of examples as well as several in-depth discussions. And, most importantly, it works!

JavaScript (1.16) ***

This is an excellent module. However it's currently suffering from a slight case of abandonment and is hard to install in up-to-date distributions. Hoping it gets some love soon because essentially when built with older versions of the mozilla javascript library (and when it was used to be available in a Debian package) it was a very useful and reliable module.

Nowadays I'd recommend transitioning to Javascript::V8 instead though.

But if you want to build it, see this:


Mail-SpamAssassin-Contrib-Plugin-IPFilter (1.1) *****

Disclosure: I wrote this module.

Git-Wrapper (0.045) *****

Whenever I need to interact with a git repo, I use Git::Wrapper. It works very well, is well maintained and makes git repo interactions easy.

Perl-Logger (0.0.1) ****

logging impact

Contenticious (0.35) *****

Excellent module. It enabled me to kit bash a good-looking website for a friend in a very short while. Thanks, Mirko!

App-GitGot (1.330) *****

I have loved this module since I discovered it in early 2015. The author quickly answered my questions and was very receptive to my suggestions. It makes submission of pull requests for forked projects very easy, which is a great boon to me since I am very interested in supporting the Perl 6 projects where I am able. Thanks, genehack!

JSON-MaybeXS (1.003005) *****

JSON::MaybeXS is what I would recommend anyone doing either reading or writing JSON in 2016.

It transparently wraps around deferring to an XS-based implementation wherever possible ( Including some XS implementations not supported by JSON.pm ), and falls back to JSON::PP nicely if no XS based implementation is available/can be installed, and allows you to absolve yourself of any political/technical consequences with having to choose a backend implementation, and allows the end user to have more control of that.

Devel-Isa-Explainer (0.001000) *****

Very nifty way to quickly get a handle on how a moderately complex codebase fits together & visualize inheritance issues.

URI-Encode (v1.0.1) **

Does NOT escape reserved characters by default! (Unlike URI::Escape.)

SMS-Send (1.06) ****

There are 100s of SMS related projects on CPAN. I looked at as many as I could and then settled to build my drivers against the SMS::Send API as it appears to be the easiest and most open. I ended up writing a custom SMS::Send::Driver base class called SMS::Send::Driver::WebService that has most of everything you need to provide a API against an Internet-based web service. (username, password, url) and an INI capability to store them.

Test-Without-Module (0.18) *****

I prefer Test::Without::Module over Devel::Hide simply because it does not print out the text "Devel::Hide hides XXX". I'm using Test::Without::Module in production to patch up a broken mrtg with IPv6.

perl -MTest::Without::Module=Socket6 /usr/bin/mrtg

DOM-Tiny (0.003)

Edit: All parties involved have found a mutually acceptable solution. DOM::Tiny is going away and there will be a new friendly fork called Mojo::DOM58, focused solely on Perl 5.8 compatibility, with the blessing of the Mojolicious core team. So this rating is no longer relevant.

DOM-Tiny (0.003) *****

Handy. Dunno if this fits the rules for ::Tiny modules, but I never cared too much for that - it's nicely self-contained and works well enough, so it's a great little module when you just need to do a bit of XML/HTML parsing. Thanks both to sri and the Mojolicious team for writing the original code, and DBOOK/mst for making it more accessible.

Mojolicious (6.57) *****

The best framework on today!