Ratings and Reviews for CPAN

cpanratings
 

Rate a distribution

Find a distribution you would like to review:

Recent reviews (RSS feed)

Moos (0.30) ****

I found it easy to convert a number of simple but non-trivial classes from Moose to Moos. The documentation is concise and sufficient. I have not encountered any problems and if you read the section ON SPEED you will find that the author suggests that you use accessors without using method calls. While code written this way might be uglier it is still very easy to read especially when accessors names are single quoted and displayed in Notepad++ editor. For example:
my $foo = $self->{'foo'};
$self->{'foo'} = $foo;

Debug-Statements (1.005) ****

good module,
that is what i found!
I use for this task next function:

sub show_variable {

my ($value, $name) = @_;

if (defined $value) {

my $fixed_length = 40;

#say '#' x $fixed_length;

my $string = "# DEBUG $name: $value";

$string .= ' ' x ($fixed_length - length($string) - 1);

say $string. '#';

say '#' x $fixed_length;

}
}

Getopt-Long (2.43) *

Thanks for this, this makes options handling a magically & flexible way !

RapidApp (0.99664) *****

I have been using RapidApp since the 2014 YAPC::NA conference. It isn't the easiest framework to get started with, despite the amazing video tutorials, simply because it is much more powerful than a simple example can show off.

Generating a working UI for a Catalyst MVC application, is a daunting task. RapidApp really simplifies that process, and gives you a gorgeous looking interface. Every time I ran into an issue, found a bug, or needed documentation about a feature, the author was available, and eager to help. This is a sign of a continuously developing project.

After getting more acquainted with the internals, and philosophy of design, I am no longer surprised that there's an elegant solution that the author has already considered, and solved for.

To name a few:

Handles user login and authentication without writing to your database -- but supports authentication against our LDAP server.

Per user report saving, organization, renaming. Public reports.

Very powerful filtering interface. Supports complex types like MACADDR in PostgreSQL correctly.

Export of reports to a wide variety of formats -- even Excel.

Batch update of records -- this saved my sanity.

Internally, uses transactions to do complex related record updates.

Easily separate you assets from RapidApp. The author expects you will want to brand and customize the UI. He made it easy and flexible to do so.

I'm not one to drink the kool-aid, but you need to try this before trying to make your own (kool-aid).

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

I use this distribution all the time. I use it as a truly fantastic bridge between the geek and non-geek worlds. In my opinion, there are MUCH better ways of visualizing and distributing information than Excel - however my upper management does not think so, and let's face it that is all that matters. While I can get VBA to work, I'd much rather do my heavy processing in something like Perl and then spit out the resultant work in Excel. I am truly grateful to the author!

Any-Moose (0.24) *

This module had a laudable goal, but causes a number of issues. The largest issue is that it picks global behavior when first loaded, meaning that code will change behavior based on load order. This prevents you from reliably using either Moose or Mouse to interact with modules using this. It also makes it hard to properly declare dependencies.

Picking either Moose or Mouse would be preferable to using this module, and Moo also exists as a lightweight Moose-compatible class builder.

Archive-Any (0.0941) ****

Nice idea, but the API needs to richer to be more useful (otherwise one will still need to go to individual Archive::Tar, Archive::Zip, etc). Currently the API provided are: listing files and extracting all files. We can't: create archive, add more files, extract some files only, find files, and so on.

Devel-Confess (0.007005) *****

Very nifty, it's like Carp::Always but with much more options/features (so you don't need a separate Carp::Always::Color, Carp::Always::Dump, and so on).

Crypt-SaltedHash (0.09) *****

This is an excellent tool. Unfortunately, it doesn't yet work with Digest::Bcrypt because it currently insists on uppercasing the algorithm string.

makepp (2.0.98.5) ****

We use Makepp as *the* glue in our documentation generation chain (pod2tex, template toolkit to tex, then lualatex) where we need to handle N languages for M territories, X customer classes, Y target formats etc. The combinatorics would make a static approach to documentation not feasible. Makepp helps to make this hard thing possible. It can be challenging to wrap your head around it, but definitely worth it.

Catalyst-Plugin-CustomErrorMessage (0.06) **

jadikan lebih mudah

Const-Exporter (v0.2.3) *****

I'm delighted it was so easy to start using this module.

Mozilla-CA (20141217) *****

I like it a lot that there is a new version of Mozilla::CA now available on CPAN again :D

This is a great module because it allows you to check certificates without depending on stuff on your system such as openssl, which makes it a trusted fallback on platforms such as Windows.

LWP::Protocol::https will use this by default if there is no SSL_ca_file or SSL_ca_path passed.

HTTP::Tiny will do the same if there is no SSL_ca_file passed.

So it's a very important piece of security infrastructure for Perl. Please make sure you keep yours up-to-date!

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.