Reviews by Nobody


Nums2Words (1.13)

Rescinding my previous review as the module has been updated since 2006 but I haven't used it.

cant (v0.0.2) *

"This module exists because of a misname regarding UNIVERSAL::, so use <UNIVERSAL::cant> instead."


Can someone *please* implement a CPAN killfile? Kthx.

Eludia (07.08.31) * says that documentation exists, but only in Russian. Fair enough; we can't expect every hacker to learn a foreign language. If the documentation exists, it can be translated in some fashion. However, are no comments in the code. This means that if you want to know what's going on, you need to put in way too much effort to find out. That's why I rated this module "1" for documentation.

Looking at the code, it becomes clear that you don't need to follow the path of execution to assess this distribution. Where should I begin? How about at the beginning? None of the modules in this distribution use strict or warnings (one actually starts with "no warnings;"). Barely any of them even have package declarations. One that does is Eludia::Loader: (You may have to edit this URL to reflect the latest version number.)

It would be condescending of me towards the CPAN community to point out the problem there.

Setting aside grotesqueries such as the above, there is plenty else to criticise. The "date-style" version number suggests a general ignorance of Perl module style. Lines that smell of cargo-culting ("my $proto = shift; my $class = ref($proto) || $proto;" anyone?). Places where modules are called upon without being "use"d. And as if that wasn't bad enough, the physical appearance of the code is horrible. Unnecessary whitespace ("$self -> {Out_headers} -> {-content_encoding} = $_ [0];") is abundant; and the author appears to have been using an editor with soft wrapping switched on, as the modules are full of extremely long lines. And I mean long; the longest I found was 698 characters.

Frankly, this distribution sucks. Don't use it.

DBIx-Class-FrozenColumns (0.01) *

Rated 1 as a result of the author rating his own module 5. I haven't used this module.

constants (0.0027) *

I don't even need to review this, I'll just quote it.

our @EXPORT = qw'NO YES';

use constant NO => defined;
use constant YES => not NO;

That's it. The whole goddamn thing. Will somebody please kick this idiot off CPAN already?

YiJing (0.02) **

Cute, but I think this is better suited to being on someone's website. CPAN is for code.

link_NCBI (HASH(0xa2324f4)) **

While this code is well-intentioned, the author needs to learn how to use warnings and strict, and should read perldoc perlmodstyle and write documentation for each of the modules in the distribution, which itself would be better named WWW::NCBI. A promising start, though.

oEdtk (0.314) *

"oEdtk IS A PROJECT FOR PRINTING PROCESSING specialized namespace for
enhancement of data tracking and knowledge for industrial printing processing." Huh?

No documentation of modules at all. Comments are in French. It's impossible for me to tell what this is supposed to do.

Templates (HASH(0xa47f170)) *

Contains... er... some HTML files. I think the author misunderstands what CPAN is.

parsenative (.070425_1) *

I don't understand what this is. There are a pile of .cpp files. The Perl interface - I presume there is one - isn't documented at all.

The readme states: "probably to be released under GNU-GPL at some point, or something, once it's not quite such an embarrassing piece of code". Perhaps the author should consider taking it away from the CPAN and thus save us the annoyance of having to see something this useless (in its current state) in the first place, and also think twice before uploading in future.

obfuscator (1.14) *

"I do not warrant this script for work with your code", writes the author. Just as well he does, as even the example script distributed with the code doesn't work, printing "Hello whrld!!&" instead of "Hello world !!!". (This is leaving aside for the moment the pointlessness of writing an "obfuscator" in the first place.)

Add to that all the comments in Chinese in the code (at least, that's what my browser renders them as) and you have a real hum-dinger of a distribution.

Weed (0.0019) *

No description of what this package is supposed to do. Documentation is non-existent. Often multiple releases in a single day, and no change log. File this under "totally useless" until advised otherwise.

HTML2XHTML (0.03.08b) *

An awful pile of fragile regular expressions. The author should remove this from CPAN and read up how to parse HTML.

XML-Tiny (1.06) *****

I'm no wizard when it comes to XML, and I just needed to deal with some simplistic data (specifically, the REST API for Facebook - see for an example). XML::Tiny gave me exactly what I needed to deal with it with the absolute minimum of effort. Thanks Dave!

WWW-Facebook-API-REST-Client (v0.0.3) *

First, installing was a struggle. Annoyingly, the tests require Test::Perl::Critic, but this isn't listed as a prerequisite, causing the tests to fail. After installing that (and the honking pile of modules that it requires), the critic test fails on twelve out of twelve parts. Disappointing, considering that it's the most irrelevant part of the test suite.

Second, this module does not appear to function in its current form. Attempting to login with code copied straight from the documentation resulted in a terse "Unable to login" error message. Messing with the insides of the module to make it spit out some more information revealed this message:

Attribute (session_key) does not pass the type constraint (Str) with 'HASH(0x8e283b4)' at (eval 35) line 1

WWW::Facebook::API::REST::Client::Base::session_key('WWW::Facebook::API::REST::Client=HASH(0x88f149c)', 'HASH(0x8e283b4)') called at /usr/local/share/perl/5.8.8/WWW/Facebook/API/REST/Client/ line 47

Then I gave up.

Acme-Placeholder (0.04) *****

Thank goodness for this module. It carries out its appointed task of wasting space in several namespaces superbly, and is filed exactly where it should be, in the Acme:: family. Not only that, but the author is responsive, releases regularly and is doing his best to achieve high "kwalitee" - unlike DMUEY, who is yet to achieve a good result in the wasting-space department (despite numerous attempts). Recommended.

last (v0.0.1) *

A waste of space. Consists of a wrapper around 'first' (by the same author) using reverse().

cPanel (v0.0.1) *

This author is really starting to tick me off. Not only is this the *ninth* useless empty module he has uploaded to CPAN (that I have seen!), polluting the search index, but he has the amazing gall to write the following:

"If you'd like to use the cPanel namespace in your modules, please use cPanel::3rdparty, cPanel::Custom, cPanel::Local, or cPanel::My as your base namespace to avoid confusion with modules released by cPanel, Inc."

Well, I'm sorry, but by not only wasting our time with worthless junk like this but lecturing us to boot, you make it extremely unlikely that anyone *will* ever use your precious namespace (which should have been WWW::cPanel, anyway).

Incidentally, this module has just passed its first anniversary of being "a placeholder". Make of that what you will.

File-Trash (1.04)

Review redacted - distribution now actually contains code. I haven't tested it.

File-Recycle (v0.0.1) *

Another spectacularly pointless empty placeholder file.

Daisy-Wheel (v0.0.1) *

Seriously, guy, stop uploading useless empty placeholder modules. Polluting CPAN is not cool.

Daisy-Cutter (v0.0.1) *

Again, yet another useless empty module. Again, yet another waste of space.

Daisy-Dukes (v0.0.1) *

Yet another useless empty module. Yet another waste of space.

Daisy-Cocktail (v0.0.1) *

Another useless empty module. Another waste of space.

Daisy-Chain (v0.0.1) *

Another useless empty module. Another waste of space.

Daisy (v0.0.1) *

No code. No documentation. No place on CPAN.

ANSIColor (1.11) *****

An excellent little module. Good interface, well-documented. A quick demo:


use Term::ANSIColor;

@colors = qw(black red yellow green cyan blue magenta);

foreach $fg (@colors) {

print color("bold $fg") . ' Hello! ' . color('reset');

foreach $bg (@colors) {

$bg eq $fg ? print color("white on_$bg") : print color("$fg on_$bg");

print ' Hello! ' . color('reset');


print "\n";

SCALP (0.0.3) *

This module doesn't seem to actually /do/ anything. In addition to that, the submodules contain generic stub documentation, and some of them use three-part version numbers - while others don't.

To the author - CPAN is not your version control system. Please don't upload your unfinished and unusable code, let alone in a top-level namespace. You should delete this from the CPAN, then go away and work on it for a while before trying again.

By the way, it's spelt Perl, not PERL.

Task-Sites-ShlomiFish (0.0201) *

Nobody else is ever going to install Shlomi Fish's personal home site. So why is this module wasting space on CPAN?

Visio (1.010)

Rescinding my previous review as docs have now been included.

ack (1.24) *****

This is an absolutely superb tool and, as Audrey comments, a vast improvement over `grep -r`, if only because its output doesn't hurt your eyes so much. Add to that the default ignoring of certain directories like 'blib' and you're in search heaven. Oh, and it's /fast/.

Install this module now!

OpenGuides (0.54)

Erm, whoever you are, would you like to maybe get in touch with the developers if you're having a problem, rather than making useless comments like that one? Incidentally you appear to have rated a really, really old version.

ToDo (HASH(0xa3d5c08)) **

This module needs serious attention. It doesn't use strict or warnings; there are calls to open() used without checking return values; some variables are declared with my, while others aren't. I would suggest reading perldoc perlmodstyle.

Acme-OneHundredNotOut (100) *

Self-congratulatory twaddle. What on earth the author thought he was doing by writing it in the first place, let alone uploading it here, I can't possibly imagine.