File-ChangeNotify
(0.20)
Moose-infected garbage for monitoring changes to files. There are lots of better solutions on CPAN, including EV, Linux::Inotify2, and AnyEvent::Inotify::Simple.
Pista Palo - 2011-04-24T05:56:35 (permalink)
Algorithm-BMI
(0.01)
This is mostly pointless, since all you need to know is:
BMI = kg/m^2
or, in standard units:
BMI = lb*703/in^2
In any case, there are better ways to measure lean body mass, and if you're a programmer, you could probably stand to drop a few pounds.
Pista Palo - 2011-04-06T19:44:37 (permalink)
Data-Paginate
(0.0.6)
Worse than the usual DMUEY (Daniel Muey) crap -- it doesn't contain anything! Avoid anything by this author.
Pista Palo - 2011-04-06T19:29:06 (permalink)
cPanel
(v0.0.1)
Typical DMUEY (Daniel Muey) crap. Avoid anything by this author.
Pista Palo - 2011-04-06T19:28:17 (permalink)
last
(v0.0.1)
Typical DMUEY (Daniel Muey) crap. Avoid anything by this author.
Pista Palo - 2011-04-06T19:26:47 (permalink)
Unix-PID-Tiny
(0.9)
It conforms to the "Tiny" spec AFAICT, but it's the same useless garbage as Unix::PID. Avoid.
Pista Palo - 2011-04-06T19:22:35 (permalink)
Unix-PID
(0.23)
A hideous interface to a bunch of unrelated functionality with bizarre prereqs. Utter garbage.
Have you ever wanted a single module that would let you (1) split "ps" output by column; (2) create lockfiles containing PIDs; and (3) call "kill" and "waitpid" through an awkward interface? If so, this is the one for you!
What do you think
$x = new Unix::PID;
does? If you thought it might create an object representing stuff about the current process, you would be wrong. If you want that, you use
$x->pid_info($$);
Yep. $x contains valuable state such as the location of "ps" on your system.
Pista Palo - 2011-04-05T20:37:32 (permalink)
Lingua-LO-Romanize
(0.08)
Oh, look... it's a big look-up table. One that will take forever to install thanks to its insane prereqs:
deps.cpantesters.org/?module=Lingua::...
Another typical Moose-turd.
Pista Palo - 2011-03-27T18:14:52 (permalink)
Modern-Perl
(1.03)
This groundbreaking module has been made obsolete: see Acme::Very::Modern::Perl and Acme::Postmodern::Perl.
Pista Palo - 2011-03-23T02:52:12 (permalink)
DateTime-Tiny
(1.04)
A welcome alternative to DateTime's hyper-complexity. It won't do date arithmetic in Mongolian Daylight Savings Time, but for most people's basic needs, it's just fine.
Pista Palo - 2011-03-22T13:49:24 (permalink)
bareword-filehandles
(0.003)
Yay, another sad (pra|do)gma module in the style of "indirect." Here's an easier solution: if you don't want to use bareword filehandles, then don't use them.
Pista Palo - 2011-03-15T18:32:10 (permalink)
ConditionSystem
(0.01)
The author's heart is in the right place -- Lisp's "conditions" are a good way to deal with errors -- but... This turd salad forces you to install the Moose-plus-dependencies nightmare FOR ITS TESTS. Please try again.
Pista Palo - 2011-02-11T19:32:13 (permalink)
true
(0.14)
Why type "1;\n" at the end of your script when you can type "use true;\n" at the beginning? Because the latter makes you look "Modern" with a capital "M," that's why! Will someone rid us of these meddlesome chromatards?
Pista Palo - 2011-02-11T19:31:46 (permalink)
Text-BibTeX
(0.43)
Broken after switching to a new maintainer: "I am sorry for all other languages that might be using this library [btparse]. For them my suggestion is that they make Text::BibTeX as a dependency." Use version 0.34 to get the working version.
Pista Palo - 2010-04-01T06:27:39 (permalink)
Module-Starter
(1.54)
If "h2xs -AXn" doesn't work for you, a basic script to create a new module (Makefile.PL, MANIFEST, Module.pm, test.pl, README, ChangeLog) is 100-200 lines of simple print statements. Module::Starter takes this simple process and makes it complicated and annoying. It adds useless boilerplate to several files, then adds a failing test that looks for the boilerplate it just added. It creates a random file "ignore.txt" that does... something. It looks like "ignore.txt" used to be the author's .cvsignore or .gitignore. It creates a Changes file in its own idiosyncratic format, with unhelpful content you will need to delete and replace.
It will take you less time to write your own "module starter" than to install and run "module-starter", then clean up the mess it creates.
Pista Palo - 2010-04-01T01:51:45 (permalink)
Test-ExistsExecutable
(0.024)
I'm not really seeing the point. What's wrong with using
$file =~ m!/! ? -x $file : grep { -x "$_/$f" } split /:/, $ENV{PATH};
Pista Palo - 2010-03-24T10:40:52 (permalink)
Bio-Phylo (0.18)
Not actually a module; just a META.yml.
EDIT: The author seems to have fixed the module.
Pista Palo - 2010-03-02T18:19:03 (permalink)
common-sense
(3.0)
Something in short supply these days...
EDIT: @ADAMK -- It seems straightforward to make an alias/copy named Enterprise::Perl::SolutionsManagementFactory or some-such. Is there demand for such a thing?
Pista Palo - 2009-12-15T18:52:16 (permalink)
Data-Rmap
(0.62)
Nice! A simple, well-thought-out interface to arbitrary data structure traversal. Some sort of hook for classes (e.g. an "_rmap" sub) would be a nice addition.
Pista Palo - 2009-12-15T18:20:20 (permalink)
Acme-Very-Modern-Perl
(0.02)
Why go for half measures in your attempt to be "Modern?" Whoever you're trying to placate, this module will do it. Awesome!
Pista Palo - 2009-12-15T18:16:08 (permalink)
Mouse
(0.43)
A nice, light-weight alternative to the Moose fad.
Pista Palo - 2009-12-07T20:41:54 (permalink)
Symbol-Util
(0.0202)
A complete waste of space. Why use this module to write
print join "\n", keys %{ stash("main") };
when you can just write
print join "\n", keys %main::;
Piotr: Maybe you could edit your review to point at the important parts?
Pista Palo - 2009-11-26T21:58:30 (permalink)
WWW-Search
(2.507)
Please either stop listing Test::Pod::Coverage as a prerequisite, or move this module to Acme::.
Pista Palo - 2009-11-23T00:13:33 (permalink)
Test-Pod-Coverage
(1.08)
This module is a minor CPAN plague:
cpants.perl.org/dist/used_by/Test-Pod...
Please don't make it a prerequisite.
Pista Palo - 2009-11-23T00:07:36 (permalink)
Algorithm-TravelingSalesman-BitonicTour
(0.05)
Please either stop listing Test::Pod::Coverage as a prerequisite, or move this module to Acme::.
Pista Palo - 2009-11-22T23:57:36 (permalink)
Algorithm-CurveFit
(1.04)
Please either stop listing Test::Pod::Coverage as a prerequisite, or move this module to Acme::
Pista Palo - 2009-11-22T23:55:18 (permalink)
AI-ParticleSwarmOptimization
(1.003)
Please either stop listing Test::Pod::Coverage as a prerequisite, or move this module to Acme::.
Pista Palo - 2009-11-22T23:53:27 (permalink)
Abstract-Meta-Class
(0.13)
Please either stop listing Test::Pod::Coverage as a prerequisite, or move this module to Acme::.
Pista Palo - 2009-11-22T23:52:25 (permalink)
File-Map
(0.19)
The import interface is wonky (why make people write a bunch of ":foo"?), but this module is heading in the right direction.
Pista Palo - 2009-11-08T21:41:03 (permalink)
Scope-Upper
(0.09)
The interface is a bit wonky ("$ctx = SUB UP SUB"?!), and the black magic may be fragile to internals changes. But force-unwinding the stack without eval or magic goto is seriously cool and useful, letting you do non-local control transfers in other people's code without changing it.
Pista Palo - 2009-07-14T05:49:37 (permalink)
Test-Functional
(0.03)
Just what we need: another test module with its own special syntax. Until there's a "SEE ALSO" section explaining why you would want to use this instead of the other 1500 (I kid you not) Test module on CPAN, this is unadulterated FAIL.
EDIT: Adam J. Foxson and sundry down-voters: It's the least you can do to explain how your re-implemented wheel differs from our current 1500 wheels.
Pista Palo - 2009-07-09T12:51:07 (permalink)
Proc-Class
(0.03)
There are levels of silliness to which one should not stoop. Even in the synopsis, the order of slurp_stdout() and slurp_stderr() could be wrong.
Pista Palo - 2009-07-09T03:07:15 (permalink)
Sys-Mmap-Simple (0.13)
WTH? The same author has also submitted File::Map, which does basically the same thing. Which one is supported?
Pista Palo - 2009-06-29T10:06:26 (permalink)
libwww-perl
(5.827)
LWP::Simple shows how interfaces should be done:
use LWP::Simple;
$content = get("www.sn.no/";);
die "Couldn't get it!" unless defined $content;
If I want to get a URL's contents, I get() the "URL's" $content. IO::All takes it a step further, but LWP::Simple shows how to make easy things easy.
Pista Palo - 2009-06-24T10:04:19 (permalink)
Devel-Size
(0.72)
It does what it claims, and is well-documented, but the size() function is of limited use; most of the time you want total_size(). Also, it occasionally crashes calculating the size of magic variables.
Pista Palo - 2009-06-20T09:27:22 (permalink)
PadWalker
(1.7)
Works as advertised, and provides all the necessary operations: peek_my to get variables declared in a scope, and peek_sub to get variables used (declared and closed over). For its limited audience, this is a good module.
Pista Palo - 2009-06-20T09:23:26 (permalink)
OP
(0.212)
FAIL: "Using the OP module initializes all built-in object types, and causes strict, diagnostics, OP::Class, OP::Type, Perl6::Subs, and Error to be imported by the caller."
In other words, it "helpfully" pulls in a bunch of garbage when you import it, including a source filter. But hey, once you're done installing its 42 dependencies, your next trip to the CPAN will be much faster, since it's probably already installed.
Pista Palo - 2009-05-25T07:41:02 (permalink)
MooseX-MethodAttributes
(0.18)
For today's edition of "CPAN one-liners," we have ten -- count 'em, ten! -- classes and a random dependency on namespace::clean to replace this:
use attributes; attributes::get(\&f)
with this:
use MooseX::MethodAttributes; @{main->meta->get_method('f')->attributes}
hdp: There is being dishonestly clueless, and then there is that thing you're doing. Please stop.
Sam, Sam, Sam... There are those who believe that simple procedural interfaces are sufficient for many language features, and those that believe that all must be accessed by pedantically "object-oriented" interfaces.
If you're not sold on the first idea, you might reach the conclusion of Sam. In which case, please continue to reinvent wheels badly, and hope that people don't ever cally your code "pointless style fapping" as soon as you write it.
Pista Palo - 2009-05-25T07:35:14 (permalink)
Statistics-Descriptive (2.7)
Note that since changing maintainers, this module has gone the way of "best practices" code shuffling while not improving functionality. 2.6 was the last feature-related release.
Pista Palo - 2009-05-10T15:19:49 (permalink)
Proc-Exists
(0.94)
Yay! Another way to spell "kill(0, @pids)"!
Pista Palo - 2009-03-26T22:56:04 (permalink)
Chart-Gnuplot
(0.08)
Looks okay, but if you already know the gnuplot language, then it's probably easier to generate a script and run it. If you don't, then you will probably have a hard time using this module. Plus, it's easy to learn.
Pista Palo - 2009-03-12T09:39:13 (permalink)
Perl-Critic-Bangs (1.02)
Please God let there be a Perl::Critic::Bangs::Yermom.
Pista Palo - 2009-03-07T18:09:01 (permalink)
File-Stat-Moose
(0.06)
Another fail-burger from the master chef! Who could have known that CPAN needed more than one hard-to-use reimplementation of File::stat? Who could have imagined that this need could only be filled with 14 prerequisites?
Pista Palo - 2009-02-01T22:19:41 (permalink)
IO-Moose
(0.09)
Dear God, what a bucket of fail! If reading the contents of a file requires more text than "slurp $filename," or requires other modules, you have lost.
Pista Palo - 2009-02-01T09:25:13 (permalink)
Moose-Tiny
(0.0.3)
A not-quite-funny joke that belongs in Acme::.
Pista Palo - 2009-01-27T06:36:00 (permalink)
File-Stat-OO
(0.03)
I'm not sure why this exists when we already have File::stat, with an equivalent but simpler interface. The docs even link to File::stat in the "See Also" section, but give no comparison.
Pista Palo - 2008-12-17T06:21:29 (permalink)
ToolSet
(0.99)
Another module from the "I can has arrows" crowd. Why do interfaces have to suck like this? There is no reason for the string "ToolSet->" to appear anywhere in the synopsis example.
EDIT replying to other reviewers: My guess is that no one will extend this module by subclassing (or even use it at all, FWIW). Feel free to point to examples to the contrary.
Pista Palo - 2008-12-05T17:27:48 (permalink)
Object-Disoriented
(0.02)
Brilliant! See also Acme::Nooo, for another version.
Pista Palo - 2008-08-17T17:37:06 (permalink)
Sub-Curried (0.04)
See also Attribute::Curried...
Pista Palo - 2008-07-26T20:05:19 (permalink)
Module-CPANTS-Analyse
(0.81)
FAIL:
my $analyser=Module::CPANTS::Analyse->new({
dist=>'path/to/Foo-Bar-1.42.tgz',
});
$analyser->unpack;
$analyser->analyse;
$analyser->calc_kwalitee;
Why not just:
$res = Module::CPANTS::Analyze('path/to/foo')
Pista Palo - 2008-05-24T22:28:36 (permalink)
Module-Changes
(0.05)
Big bucket o' fail. A marginally useful feature ("machine-readable ChangeLog") requiring a bucketload of vaguely-related dependencies. This is a waste of bits.
Pista Palo - 2008-05-03T22:31:16 (permalink)
Test-TAP
(0.02)
Is this testing meta-humor, or meta-testing humor? Either way, do not want...
Pista Palo - 2008-04-10T09:58:53 (permalink)

