Ratings and Reviews for CPAN

cpanratings
 

Rate a distribution

Find a distribution you would like to review:

Recent reviews (RSS feed)

Path-Tiny (0.061) *****

I really, REALLY like this module.

It makes managing files so much easier. Just opening them, reading them into a scalar or array, printing them out.

Of course it STARTED out as a true ::Tiny module but as seems to happen with those it is now not so Tiny anymore, it even has support for stuff on platforms as AIX and such.

I wrote a platform for managing Video on Demand files and had to load and process a whole lot of XML metadata files, images, and videos. I used this module extensively to crawl directories, read files and so on. It has helped me a lot writing code faster while also making my code much easier to read and maintain. Thanks a LOT for this module!

Excel-Writer-XLSX (0.81) *****

This is a great module I use very often in my daily work to wrangle large amounts of data into a spreadsheet for easier analysis by myself and my management. The interface is well defined, the documentation is very thorough, I had no trouble in picking this up and putting it to use. Huge debt of gratitude to John for developing and maintaining this for the community to use, it is immensely valuable.

Text-SpellChecker (0.14) ****

First of all thanks to the author of this module. I had to make spellchecker for TinyMCE, I sent a post request from TinyMCE along with the editor content to server and on server side this module provided the incorrect words with suggestions, added some jQuery events and it was done.

It's really a great module and it's very easy to use.

Had to email author regarding some things and he solved the issues which I mentioned.

Mozilla-CA (20130114) *

Certificate authority certificates are a critical part of the TLS infrastructure and that must be kept up to date.

This package has not been updated for years now.
See rt.cpan.org/Public/Bug/Display.html?i...

So, don't use it.

Want (0.24) *****

This module allows you to do some really magic stuff not possible otherwise. I think it would be great to have these features ported inside core Perl, though if with a different interface.

SQL-Statement (1.405) ***

The concept is truly cool, unfortunately the parser is currently flaky/buggy: one SQL query might work but another valid and seemingly simple SQL would fail with weird error message. See distribution's RT queue.

File-ReadBackwards (1.05) ****

At the time of this review, I find two modules for reading a file backwards: File::Bidirectional (FBidi) and File::ReadBackwards (FRB).

Both modules have roughly the same footprint and minimal dependencies. Both provide OO as well as tie interface. Both respect the $/ setting.

FRB pro's:
- FRB is 15-20% faster than FBidi when reading backwards;

FRB con's:
- does not offer the feature of reading forward as well, but of course this is not the goal of the module.

FBidi's POD contains information on benchmarks (it's roughly an order of magnitude slower than raw Perl's open+read/diamond operator, still the case in 2014). While FRB's POD contains information on how the thing works behind the scenes.

In summary, both modules are roughly the same. I'd prefer FRB unless in the rarer cases where I need bidirectional reading.

File-Bidirectional (0.01) ****

At the time of this review, I find two modules for reading a file backwards: File::Bidirectional (FBidi) and File::ReadBackwards (FRB).

Both modules have roughly the same footprint and minimal dependencies. Both provide OO as well as tie interface. Both respect the $/ setting.

FBidi pro's:
- has the unique feature of reading backward/forward and switch direction in the middle;

FBidi con's:
- FBidi is 15-20% slower than FBidi when reading backwards;
- reading forward is just as slow as backward, so if you only need to read forward, obviously there's no need to use this module;

FBidi's POD contains information on benchmarks (it's roughly an order of magnitude slower than raw Perl's open+read/diamond operator, still the case in 2014). While FRB's POD contains information on how the thing works behind the scenes.

In summary, both modules are roughly the same. I'd prefer FRB unless in the rarer cases where I need bidirectional reading.

MobileDetect (1.16) **

> because there is no such thing in perl

Seems to duplicate much of HTTP::BrowserDetect and CGI::Info.

Syntax-Highlight-JSON (0.01) ***

All of the complaints about this module are dead on.

However the interface is extremely easy to use, and the combination of syntax highlighting and formatting in HTML is something you might want. I did. This module got my feature done in no time so I could move on to other things.

Mojolicious (5.62) *****

Mojolicious makes it easy to start a project, to continue developing a project, and to maintain it after it is finished.

It has great debugging and testing facilites, and if you want to build a RESTful web service, Mojolicious gives you a RESTful architechture to begin with.

And you can mix and match Mojolicious with other modules if you want to or need to without any problems, even though it might not be immediately obvious to a beginner how a preforked server - hypnotoad for instance - differs from a single process dispatch architecture - morbo for instance, which might trip you up if you need communication between various sessions, or want to share database handles, etc.

Works well with DBIx::Class too, which makes it ideal for rapid AND well structured web development projects.

All in all, one of the best (most useful) web frameworks around.

Geo-UK-Postcode (0.008) *****

Simple, yet comprehensive! Very useful.

Net-Google-Calendar (1.05) *

This no longer works with Google Calendar as it uses V2 of the API which has been discontinued:
developers.google.com/google-apps/cal...

Catalyst-Plugin-Params-Demoronize (1.14)

[obsolete review removed]

HTTP-Tiny (0.050) *****

Thank you for great LWP-replace!

Pry (0.003001) *****

Fantastic debug tool, and so much more reasonable than the built-in perl debugger.

A great companion to Devel::Confess; applying '-d:Confess' clues me in to exactly where things went sour, adding 'pry()' gives me a REPL that lets me know what lexicals are in scope & inspect them to determine why.

Expect (1.32) *****

Expect continues to be critical to my daily programming needs. Keep up the good work

Moo (1.006001) *****

With the addition of Types::Standard, I finally like Moo.

Moo's implementation of Moose is complete enough that I don't miss whatever features are missing, fast enough that I don't see it showing up as a bottle neck in profiling, and stable enough that I rarely run into a bug.

Moo's meta class is compatible with Moose. That is, Moo classes and roles can extend Moose classes and roles and vice versa. Moo is measurably faster than Moose, this allows you to write some performance sensitive classes in Moo but still cleanly interoperate with the rest of your Moose classes.

Its support for Type::Tiny (via Types::Standard) really makes Moo shine. Types::Standard provides Moo with Moose compatible types and more. It fixes many of the ambiguities which plague Moose's type system.

Pithub (0.01027) *****

[Disclosure: I patched and released version 0.01027]

A very complete, consistent interface to the Github API without too much sugar gumming things up. It works well with Github pagination and provides ample access to the HTTP layer for debugging and error handling (for example, you can check for a 404 code rather than parsing a "not found" message). If any API call is missing you can easily write your own request.

Version 0.01027 introduces support for request caching (aka "conditional requests") to reduce API calls on the same resource.

SQL-Translator (0.11020)

thanks

Mojolicious-Plugin-Database (1.08) *

Despite of promising in the documentation:

+++
Provides "sane" handling of DBI connections so problems with pre-forking (Hypnotoad, etc.) will not occur.
+++

it exactly does NOT fulfill this promise.

Author writes in

github.com/benvanstaveren/Mojolicious...

+++
Just to keep it in perspective, the ::Database plugin has always been somewhat of an example of "this is how you initialize a DB connection" and doesn't really do much of anything beyond that. It's not smart, but it tends to work - mostly :)
+++

The problem with "MySQL server has gone away" is NOT handled properly. So, I have to take about any problem with the Database-Connection myself when being in a productive environment. No mention about this in the documentation.

CPAN-Test-Dummy-SCO-Special (0.04) ****

Just for testing the S.C.O. clone

Google-GeoCoder-Smart (1.16) ****

Very useful to find out coordinates of a street address. Works as expected!

App-perlbrew (0.71) ****

Echoing all the other reviews here, Perlbrew is simply awesome. It it like local::lib on steroids with none of the manual management. It also supports the fish shell perfectly which is just awesome.

Acme-PrettyCure (0.1.3)