| CPAN Ratings (Gamma) Ratings and Reviews for CPAN | |
| » Home « | Search | About | Login |
Find a distribution you would like to review:
To write a review you'll need a Bitcard account.
Excellent module. I've been using it in a file distribution system. Currently I'm now building a much larger multi-processing system that uses this module.
Richard Faasen - 2008-05-09 05:42:54
Was this review helpful to you?
Yes
No
Excellent module. I've been using it in a file distribution system. 'forks' works very nice in combination with Thread::Queue::Any.
Richard Faasen - 2008-05-09 05:40:38
Was this review helpful to you?
Yes
No
that all!
ares_yu - 2008-05-08 23:36:27
Was this review helpful to you?
Yes
No
It does what it says it does - what more could you want? Nice module with no fuss and no mess, has been very useful to me.
BKB - 2008-05-08 22:47:23
Was this review helpful to you?
Yes
No
First of all, the documentation of this module is difficult. The example doesn't work, it has ' in the wrong places, the "native_query" method used for searching isn't documented, and when you do get it to run it just prints out HASH(0x10239485) type of things.
Secondly, it doesn't seem to work properly - the results I got were nonsense, and I couldn't see what I was supposed to do from the documentation. I wanted to search by ISBN but it didn't make it clear how to do that.
In the end it was much easier to write the scraper "by hand" using LWP::Simple and the excellent API documentation of ISBNdb.com than using this module, so my advice is to forget it.
BKB - 2008-05-08 22:45:55
Was this review helpful to you?
Yes
No
I'm not sure why the reviews for this module are so negative. First of all, there is no requirement that you install, require, or use this module to have a machine-readable Changes file. You just write it, and this module processes it on the toolchain end.
The possibilities a machine-readable Changes file opens up are enormous. Have you ever installed YAML? You'll notice that it warns you that it is incompatible above 0.60 *every time you install it*. If the toolchain was aware of tags in the Changes file, then CPAN.pm could warn you, and you could set an "I don't care option". Or, you could set a "log whenever I upgrade something marked as incompatible". Then when your app breaks, you can review the log and see which module changed something. Or, you could simply refuse to install that module.
Finally, I had no trouble installing this module. "cpanp install Module::Changes" and there it was. I'm not sure what was wrong with the other reviewers' machines, but the problem is probably on their end.
Anyway, the other reviewers seem pretty clueless (about this module, and in general), so I would take their reviews with a very large grain of salt.
Jonathan Rockway - 2008-05-08 15:32:57
Was this review helpful to you?
Yes
No
Simple, flexible and blindingly fast code profiling system. Stupidly useful. Thoroughly recommended.
Adrian Howard - 2008-05-08 09:29:35
Was this review helpful to you?
Yes
No
Don't bother with this - it needs the drivers but most of them don't work any more. I needed to scrape some ISBNs so I tried this out, but I ended up writing a simple scraper "by hand" (i.e. get the page with LWP::Simple, then chop it up to get the data) without using this module.
The problem is that as the web page formats change with time, if nobody updates the drivers for each ISBN data site, then they can't be used any more. At the moment nobody seems to have maintained most of the drivers for three or four years, so best not to use this thing unless someone starts maintaining the drivers again.
BKB - 2008-05-08 06:21:15
Was this review helpful to you?
Yes
No
I was unaware of this module until I saw the previous review. This module is incredibly useful when you need to debug a long list of arguments. For example:
#!/usr/bin/perl -w
use strict;
use Devel::ArgNames;
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime();
print_args($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst);
sub print_args {
my @args = arg_names();
my @values = @_;
for my $i (0 .. @args - 1) {
printf "%-10s = %s\n", $args[$i], $values[$i];
}
}
__END__
Prints:
$sec = 25
$min = 43
$hour = 22
$mday = 7
$mon = 4
$year = 108
$wday = 4
$yday = 128
$isdst = 1
John McNamara - 2008-05-08 06:06:33
Was this review helpful to you?
Yes
No
Seems to work to some extent, but has enormous list of dependencies.
Crashed on ISBN 0440214041.
BKB - 2008-05-08 05:26:54
Was this review helpful to you?
Yes
No
This module doesn't seem to function at all any more. It returned failure on every one of 27 ISBNs I tried.
BKB - 2008-05-08 04:57:01
Was this review helpful to you?
Yes
No
This module doesn't seem to work at all. Without investigating the internals, it completely failed to get any results on 27 common ISBNs (John Grisham novels etc.) so it's a fair bet that this is no longer functional.
BKB - 2008-05-08 04:55:11
Was this review helpful to you?
Yes
No
Makes logging in Moose based classes trivial. If you are using Moose and still doing, 'warn "some message" if $DEBUG' then you should give this a close look.
john napiorkowski - 2008-05-07 11:32:31
Was this review helpful to you?
Yes
No
works great
Frank Speiser - 2008-05-07 11:30:15
Was this review helpful to you?
Yes
No
I needed to setup string externalization that used the same format as our Java apps. Using XML::Simple I created a simple object to load them from the XML file, and get/set/get_language/set_language. I then hooked this to the model via Catalyst::Model::Adaptor. It was really, really painless.
Thanks John!
Russell Jurney - 2008-05-07 10:36:59
Was this review helpful to you?
Yes
No
This sure is a great module. It saves a lot of time and the resulting tables are very pretty. You have to read the POD twice to understand how to use the column and row separators, though. Other than the commenter below I noticed minor problems with special characters (e.g. german umlauts) but that could also be the result of a bug in Text::Aligner or wrong locale settings in my shell. However, great work!
Jonas Kramer - 2008-05-06 15:58:46
Was this review helpful to you?
Yes
No
Rating your own module with 5 stars will make you look like a total jackass or someone with self-distance and balls. You can find out which one you've been categorized in by checking how much your review is helpful to other. Use 'undef' in the 'overall' entry or, better, don't review it all.
It would have been unfair to not review your module (and its first review). I could have used 'undef' but I'm a mean bastard.
Had you had an ounce of humor and knew sentences start with an uppercase would have made your review more bearable. The review itself is style-less, dull and unhelpful.
"Oh my God!" is an interjection. Used properly it will make your audience curious. God is spelled with an uppercase 'G' whether you believe or not. The exclamation point '!' is what makes the interjection an interjection.
It's nice to know that you could use your own module in at least three, yes people three, places. I'll admit that I have written modules that I haven't used at all (yet, I like to plan long in advance).
Trying to make the best of your review, I, at least, wanted to learn what a 'shanker' is. The only explanation I found was "The primary skin lesion of syphilis".
The module is a heavy weight champion of 97 KB sporting Moose internals and a rather complete looking package with bells and whistles. This let's us discover that version 0.01 was tagged:
"First version, released on an unsuspecting world."
This module requires Perl 5.10, which is not a bad thing at all, so it won't install on many systems yet. I've just discovered another use for Perl 5.10.
I'm not running 5.10 on this box (it's a lie) so I can only present a shallow review of this module:
"The one stop shop for parsing static column width text tables!"
All the test are "best possible" data (tests presence is why you get at least one star). There are no test input that would break the module (which makes it easier to say you pass) but why would there be better tests for a module you can write with 2 lines of Perl?
We can also discover that this module is under version control using "git". Excellent! But you get nothing for that.
It's a pity I can't vote for my own review or I would have marked it as "Best review on cpanrating and as useful as butter on a shanker".
نديم الخمير - 2008-05-06 01:25:21
Was this review helpful to you?
Yes
No
I have to agree with the previous reviewer. For example, audio data files below the t directory, or even the temporary .swp file generated by vim while a file is being edited cause this module to complain and fail. I'd also love to use this module, but...
Bernardo Rechea - 2008-05-05 16:59:16
Was this review helpful to you?
Yes
No
oh my god. this is the best module on all of cpan. I use it in at least three places and it works like a shanker cuttin' through butta -- smooth operating.
Evan Carroll - 2008-05-05 08:11:14
Was this review helpful to you?
Yes
No
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-03 22:31:16
Was this review helpful to you?
Yes
No
Very simple and easy to use interface. I like its reconnect in case of a connection failure while respecting transactions.
Parvesh Garg - 2008-05-03 22:14:15
Was this review helpful to you?
Yes
No
I agree with the previous reviewer. IMO, overall this module is not necessary. Plain DBI is actually simple enough for simple cases. Maybe the author of Mysqlsimple did not realize this. Let's compare:
* Retrieving a single row:
Mysqlsimple: my ($v1,$v2) = $db->get_row("select v1,v2 from table");
DBI: my ($v1, $v2) = $dbh->selectrow_array("select v1,v2 from table");
* Retrieving a single row (with params):
Mysqlsimple: my ($v1,$v2) = $db->get_row("select v1,v2 from table where cond1=? and cond2=?", [$cond1,$cond2]);
DBI: my ($v1,$v2) = $db->selectrow_array("select v1,v2 from table where cond1=? and cond2=?", {}, $cond1,$cond2);
* Retrieving all rows with params:
Mysqlsimple: my $rows = $db->get_rows(..., [$param1, $param2]);
DBI: my $rows = $dbh->selectall_arrayref(..., {}, $param1, $param2);
* do() with params:
Mysqlsimple: my $rows = $db->do(..., [$param1, $param2]);
DBI: my $rows = $dbh->do(..., {}, $param1, $param2);
As you can see, the differences are minimal.
David Garamond - 2008-05-03 20:46:28
Was this review helpful to you?
Yes
No
Nitpick: Should be called Bundle::ShipIt. (If nothing else, automated testing tools can ignore it.)
Robert Rothenberg - 2008-05-03 17:41:51
Was this review helpful to you?
Yes
No
The Changes file has traditionally been a *human*-readable file. The last thing somebody expects when reading a history file is to see YAML. Yuck!
If you want to have a machine-readable change history, use a different filename like "Changes.yml". And generate a human-readable file from that.
Robert Rothenberg - 2008-05-03 17:38:10
Was this review helpful to you?
Yes
No
This module would be a great asset to people on OSX, except it doesn't compile. I think I found a workaround for that though (see bug #35603). Unfortunately I doubt that the issue will be addressed as the second-to-last bug is two years old. YMMV.
rvosa - 2008-05-02 14:16:59
Was this review helpful to you?
Yes
No
|
Perl.org sites
: bugs
| dev
| history
| jobs
| learn
| lists
| use
Site Information and Contacts |
|