Reviews by Burak Gürsoy


Module-Signature (0.64) *

I used to use this module until I started to get nonsense fail reports related to \r\n line endings. I've finally got rid of this module from all of my distributions and I don't suggest anyone to use this. I see that \r\n is *still* a problem after all these years:

Also see this thread for a discussion on the "security" check this module claims to do:

Not worth the trouble.

Template-Benchmark (0.99_08) ****

Brilliant :) I've wanted to write something like that myself, but never had the time. This module aims to compare the most re-invented wheel of CPAN: The template engines. Although it's near version 1.0, it needs some polishing (hence the 4 stars).

constant-defer (2) *

This module does not create constants but injects weird subs into your package that gains value after first call. Code itself is implemented with several goto()s and seems to be highly error prone. Also the distro reached v2 in a month. Wow!. If you need such a thing implement them as functions or object methods instead. There is a reason calling something a "constant". Stay away.

[Update] Reply To Aristotle Pagaltzis: Do not assume anything about a person you don't even know and read the both sources to see what they are doing.

base (2.14) *****

base is in Core and works as advertised.

To Dan Dascalescu: please stop spamming CPAN Ratings. Thanks.

YAML (0.68) *****

In reply to Dan Dascalescu: you seem to be spamming CPAN Ratings. While I agree on some of your ratings, most are biased. It's usually a "best practice" to use the pure perl version as the default fall back. You can try the ::XS first, but it won't hurt to have a compatibility layer, if you are not configuring all the machines that the code runs.

And I don't think anyone cares if Catalyst used this or that. YAML is not part of Catalyst.

CGI-Wiki (0.63)

In reply to "Chris Prather"

That's nonsense. If the module is renamed, this one must either be deleted or converted to a wrapper to the new one instead of filling CPAN with junk.

Data-PostfixDeref (0.03) *

This module is pure evil. Implements a confusing syntax. Must be under Acme:: instead of Data::.

Text-Unidecode (0.04) ****

Nice module. Simple interface but no updates for 7+ years and the version number is 0.04 and has this rather long TODO list. Seems to work ok with latin languages but not so sure about the performance/correctness with chinese, japanese or arabic. There seems to be converters for ZH/JP at least but this wheel is not yet re-invented as a whole as it seems :) (3.42) *****

Ignore the troll below (or above, depending on the number of edits the troll make) and just RTFM. The correct argument to pass a document encoding to CGI::header() is the "-charset" parameter.

See the "-utf8" pragma to enable auto-utf8 on input parameters.

Use a template module (Template Toolkit for example) for HTML generation not' s template interface.

Jonathan Rockway' s review does not make any sense either. You can still use for input processing and uploads and it is suitable for simple applications. Also it is still maintained and new fetures added if needed and stable.

Edit: It looks like the troll (BKB) is coward enough to not mention his/her edit and replaced the old one completely with a more nonsense review.

CPAN-Mini (0.571) *****

I was thinking about generating a local copy of CPAN and searched for how to do it and it turned out that all is needed is this module & app :) Very nice and useful. All you need is a .minicpanrc for configuration and then just execute `minicpan`

IDNA-Punycode (0.03)

In reply to previous reviewer:

it looks like this module is integrated into Net::IDN::Punycode. Maybe it's fixed there?

LoadHtml (7.04) *

Reached v7 but no documentation and bad interface (no interface?). Alot of weird functions named as makafoo, makabar, etc. Reading the code just gave me a headache, but it's also like a time travel to see some prehistoric (released in 2008!) & bad coding style :p

BitTorrent (V0.1) *

Seems like a nonsense. This is merely a wrapper around some bundled PHP code and uses system calls to the CLI php interpreter to do its job. Try one of these instead:


Test.php (0.07) *

This is some php code. Even the tests are php. I don't think that this thing belongs to CPAN.

[edit]Note to down voters: this is CPAN not PEAR...[/edit]

constants (0.0027) *

Holger Seelig: The CPAN Spammer :p

Devel-LeakTrace-Fast (0.0.2) ****

Something usable at last! Leaky variables are a nightmare and they are too hard to detect inside large code bases. This module gives you precious information. But if the information list is too long, command line is not good for reading. Maybe printing to STDOUT can solve this problem. Also, some global variables from other modules are marked as leaky (like some DBI globals) this seems to pollute the information list. An option to disable certain packages can be good.

JSAN (0.07)

I think that I've fetched half of the whole CPAN during installing this module. Ouch!

Try JSAN::Mini if you have trouble installing this module. Bu it also has some long prereq list...

PerlMagick (6.40) ****

ImageMagick is a feature rich, but heavy library. GD is better for simple tasks. And the interface is not perlish.

But the below review "was" (Edited per Lee Goddard's update :) misleading, since ImageMagick does have a QueryFontMetrics() method:

($x_ppem, $y_ppem, $ascender, $descender, $width, $height, $max_advance) = $image->QueryFontMetrics(parameters);

Syntax-Highlight-Engine-Kate (0.01) ****

Nice. But there is a performance problem. loads all sub modules at once and this decreases performance and increases exec time. We can not use individual modules ( for highlighting, since the highlightText() method is inside

I think that all methods must be moved inside another module (like Syntax::Highlight::Engine::Kate::Base) and all sub modules must inherit from this. And Syntax::Highlight::Engine::Kate must be just remain as a wrapper. Here is a little benchmark I did:

#!/usr/bin/perl -w

use strict;

use Time::HiRes qw(time);

my $bench = time;

require Syntax::Highlight::Engine::Kate::Perl;

import Syntax::Highlight::Engine::Kate::Perl;

printf "Bench: %4f\n", time - $bench;

my $bench2 = time;

require Syntax::Highlight::Engine::Kate;

import Syntax::Highlight::Engine::Kate;

printf "Bench: %4f\n", time - $bench2;


Bench: 0.039220
Bench: 0.507489

EasyDBAccess ( *

Weirdo :p And a method name like "foo" in the API?? This seems to be a private/personal lib that has little use to others. Code uses DBI internally, but the interface is bad and hard to understand (from my point of view).

Template-Plugin-Nbsp (0.01) *

Seems unnecessary as Geoff Simmons stated. It also uses "&nbsp;" named entity, which can create problems with XHTML (with the correct content-type header). Only few "named entities" are pre-defined in XML. One must use "&#160;" with XHTML docs or define nbsp manually in DTD (i.e. <!ENTITY nbsp "&#160;">).

See <; for pre-defined named entities.

DumpStack (1.1)

I wonder if any reviewers below noticed the release date of this module? You are rating a historical item :p

Roll (1.0) *

This thing is a blah. And also the author is a blah, so I rate it as blah...

MIME-Lite (3.01) ***

Widely used and a good module. But, what about SASL auth? This module lacks support of it. Mail::Mailer seems to be a good alternative for that functionality:

Apache-Reload (0.07) *****

Good for development, but I'm not sure if this can be used in a production environment...

OpenGL (0.54) **

I'm new in this 3-D subject and couldn't try this module before this page: <>; Windows users must see this.

Anyway, there is no documentation in this module and the interface is not perlish, also the examples in the distro do not work on my system because of the usage of "glpOpenWindow" (I learned that from "J-L Morel"s page -- I do not know if it can be replaced with another function?) that's why I gave it a "2".

GD (2.16) *****

Fast and good graphic library. But requirement of absolute path for ttf fonts is *annoying*. It also does not like paths that have spaces in it.

I think that a built-in support for hex colors (like #000000) will be a good thing. I don't like that 3-element rgb values.

Also; the return of GIF format is a good thing.

OOTools (1.75) ***

weird perl coding... that "Perlish" thing is really weird...

Archive-Tar (1.07) *****

It will be nice if you can bundle a "tar" program that Makemaker can use for "nmake dist" under windows. I' m currently archiving the resulting directory by hand (by a perl program actually)...

Text-Template (1.44) *****

ditto mirod :) simple and powerful module and does not implement a "template language"...

The only bad thing is, you must use a global variable for the variables inside a template, you can't declare it with my(), but there is a hash mechanism to avoid this or you can use package globals.

DBI (1.38) *****

one of the best modules :)

Compress-Zlib (1.22) ****

I think that this module must be installed in every system (well it may not be a standard module in a perl distribution --but ActivePerl adds it).

Really usefull.

Pod-Simple (0.97) *****

Best pod parser :)