CPAN Ratings

Ratings and Reviews for CPAN

Rate a distribution

Find a distribution you would like to review:

Recent reviews (RSS feed)


libwww-perl (6.31) *****

A very feature-rich library, yet simple things are extremely easy to achieve.

HTML-DOM (0.057) *****

Very Handy and useful for parsing and extracting information from HTML documents.

Image-JPEG-Size (0.02)

It seems to be a lot faster than Image::Size:

Rate is ijs
is 615/s -- -98%
ijs 30236/s 4816% --

(Here "is" is Image::Size and "ijs" is Image::JPEG::Size)

See gist.github.com/benkasminbullock/cf25... for the source code.

Algorithm-GooglePolylineEncoding (0.06) *****

Simple API works great for Geo::Google::StaticMaps::V2::Path

Task-Kensho (0.39) *****

Great collection, keep up the great work!!

Selenium-Remote-Driver (1.20) *****

I am a fan of this module. It has worked with no issues at all. performance is great. even runs multi instances of browers smoothly. Documentation is great.

Dumbbench (0.111)

Use it all the time, but unfortunately it's poorly maintained and in pull-request-only mode. So reporting bugs or requesting features is useless unless the user provides a patch.

Digest-HMAC (1.03) ***

Does not work (at least not with sha512).
Use Crypt::Mac::HMAC instead.

Spreadsheet-ParseXLSX (0.27) ***

Currently the best game in town it appears for parsing xlsx files using perl. However it's slow and a huge memory pig when the file size starts getting big. Also, the API is quite complex I think compared to the python "openpyxl" module. Maybe someone can write an "openplxl" version of that module someday...

Moo (2.003004)

I first started learning OO programming in perl around a year ago. I read up on the Moo vs Moose issue and decided Moo was the way to go. My first attempt resulted in a very cryptic error message coming from Moo which was impossible to decipher. So I changed to "use Moose" instead, and got a nice human readable error message telling me what I did wrong. So my recommendation is to get your code up and running with Moose first, and then switch to Moo if desired.

App-used (v0.0.8)

Uses simple regex instead of properly parses Perl source code (PPI, Compiler::Lexer) so potentially lots of false positives. Better use existing solutions like Perl::PrereqScanner or Perl::PrereqScanner::Lite, which already come with their own CLI's.

spamcupNG (0.6) *

What does this offer over the established module WWW::Mechanize::SpamCop?

Also, shouldn't this module be called App::SpamcupNG?

Net-FTPServer (1.122)

Currently the only "real" module to create FTP servers in Perl. My suggestion would be to separate the Perl API documentation vs using the ftpd*.pl script, as the Net::FTPServer documentation currently mixes the two.

XML-LibXML (2.0132) *****

Eveybody who gives comment for this module has already told everything about the module. What I can only say that if you are not able to do something about XML, just try XML::LibXML before you give up, you will see that what you try to do is not imposible. Thanks for this great module and thanks for everybody in CPAN for their effort to keep Perl still one of the most usable and promising language...

Pango (1.227)

Undocumented and unuseable. The few times I have needed to use this, it's been far more trouble than it was worth. For example, how on earth can I load an arbitrary typeface? There doesn't seem to be documentation even in the C version.

I ended up doing the following procedure:

* Write a parser to break the truetype font format up
* Write a method of getting the curves out of the truetype font
* Write a drawing routines to draw the truetype font curves onto a Cairo canvas

That's how I did these illustrations, for example:

www.sljfaq.org/afaq/similar-kana.html

I don't understand how people can be using this module at all, it doesn't make sense to me. I even had to make a module called PangoConst (on CPAN) because this doesn't export its constants.

BioPerl (1.007002) *****

BioPerl is the standard library for bioinformatics in Perl. Its design leans fairly heavily on concepts borrowed from Java and other object-oriented languages (for example, the separation between interfaces and implementation classes), which means that it is somewhat hard to understand the sprawling architecture at first but also that it is very, very extensible.

Once you get it - and there is good documentation and a user community to help you with this - it turns out to be very useful. This is probably especially true for the many different file readers and writers. Bioinformatics is unfortunately plagued by a proliferation of file formats, many of which are represented in BioPerl. Other good things are the interfacing with web services and databases, and the architecture for invoking command line tools and parsing the results.

If you are doing something with biological data in Perl you probably need to learn BioPerl.

Geo-Coder-RandMcnally (0.01) *****

Works well.

Geo-Coder-Ovi (0.03) *****

Does what it says on the tin. Thanks so much! I'll add support in the next release of Geo::Coder::List.

Games-Sudoku-CLI (0.02) *****

Early release, so not polished yet, but... cool! Thanks, Gabor. We need more CLI games!

XML-TreePP (0.43) *****

This module is direct replacement for XML::Simple (Core module) and "relatively faster" that it. Many options are the same with XML::Simple. It appends prefix ('-') to attributes by default, but it can easily be changed by ..->set( attr_prefix => '' ) call to none or any other character. It should be a core module in my opinion.

HTML-Scrubber (0.17) ****

very configurable module in order to sanitize your HTML

Unicode-String (2.10)

It has basic errors in compilation:

rt.cpan.org/Public/Bug/Display.html?i...

The database included with the module is an old one which doesn't include the latest Unicode characters:

use Unicode::UCD 'charinfo';

use Unicode::CharName 'uname';

print uname (0x1F61C), "\n";

print charinfo (0x1f61c)->{name}, "\n";

outputs
```
defined(%hash) is deprecated at /home/ben/software/install/lib/perl5/site_perl/5.18.2/i386-freebsd/Unicode/CharName.pm line 80.

(Maybe you should just omit the defined()?)
Use of uninitialized value in print at /home/ben/charname-test.pl line 6.

FACE WITH STUCK-OUT TONGUE AND WINKING EYE
```
Even pod errors in the documentation remain unfixed:

rt.cpan.org/Public/Bug/Display.html?i...

Too bad that this module has been neglected since Unicode::UCD is incredibly heavyweight in terms of loading and also lookups, with loading taking 0.05 seconds and each call to charinfo taking about 0.10 seconds.

Devel-PerlySense (0.0218) ****

What a pleasant surprise! I had never heard of PerlySense before. For installation from CPAN on Debian Stretch I had to suppress tests, but after that everything seems to work just fine. The class overview is just wonderful... makes navigating big projects a lot faster.
Lots of keystrokes to remember... integration into the Emacs menu would be great for beginners like me.

File-Dircmp (1.30)

The module seems to work correctly. The documentation is unformatted:

metacpan.org/pod/File::Dircmp

One of the documented parameters for the sole function, dircmp, $diff, is read into a global variable:

metacpan.org/source/SCHULTE/File-Dirc...

but a quick search will show that g_d is ignored. It says that is a "TODO" in the documentation, but since the last release was in 2004, it looks unlikely to ever be implemented.

The output is a lot of strings like this:

"Files /home/ben/lemoda/deploy-current/go/gzip-handler/index.html and /home/ben/lemoda/deploy-previous/go/gzip-handler/index.html differ"

I don't understand why it outputs strings like this, rather than some kind of parsed format.

The module does not seem to attempt to go into directories which are only in one directory but not the other, similar to the Unix diff command.

People considering what module to use might want to also consider using File::DirCompare:

metacpan.org/pod/File::DirCompare

It seems more useable since it relies on a callback function rather than producing a lot of formatted strings.

XML-Hash-XS (0.51) *****

This is a great module! It does its job efficiently and is a joy to use. Thanks, Yuriy!
SSF