Acme-CPANModules-Import-CPANRatings-User-davidgaramond
view release on metacpan or search on metacpan
Maybe the author of Mysqlsimple did not realize this. Let's compare:
<br><br>* Retrieving a single row: <br> Mysqlsimple: my ($v1,$v2) =
$db->get_row("select v1,v2 from table"); <br> DBI: my
($v1, $v2) = $dbh->selectrow_array("select v1,v2 from
table"); <br><br>* Retrieving a single row (with params): <br>
Mysqlsimple: my ($v1,$v2) = $db->get_row("select v1,v2 from
table where cond1=? and cond2=?", [$cond1,$cond2]); <br> DBI:
my ($v1,$v2) = $db->selectrow_array("select v1,v2 from table
where cond1=? and cond2=?", {}, $cond1,$cond2); <br><br>*
Retrieving all rows with params: <br> Mysqlsimple: my $rows =
$db->get_rows(..., [$param1, $param2]); <br> DBI: my $rows =
$dbh->selectall_arrayref(..., {}, $param1, $param2); <br><br>*
do() with params: <br> Mysqlsimple: my $rows = $db->do(...,
[$param1, $param2]); <br> DBI: my $rows = $dbh->do(..., {},
$param1, $param2); <br><br>As you can see, the differences are
minimal. <br>
Rating: 2/10
Carp::Always
Author: FERREIRA <https://metacpan.org/author/FERREIRA>
Modules like this deserve to be more well-known and should perhaps
included in core Perl (or even become a command-line switch). I'm
never comfortable with Carp and all the "complexity" of
using it. What I wanted is simple, when debugging I want all die()'s
(and perhaps warn() too, but much less often) to print a stack
trace. <br><br>Call me inflicted with Ruby- or Python-envy, but it's
been so ridiculous wanting to print out stack traces in Perl. I
don't want to have to change/rewrite all my die()'s to croak() or
confess()! And what about library codes which use die()?
<br><br>Thank God somebody wrote Carp::Always.
Data::Dump
Author: GARU <https://metacpan.org/author/GARU>
I've envied Ruby users which can use just "p" to print out
data structures instead of us which used to have to do 'use
Data::Dumper; print Dumper(...);'. And even then there's this '$VAR1
= ' garbage which 99% of the time is not wanted. Which often makes
me wonder, shouldn't P in Perl stand for Practical? <br><br>With
Data::Dump we're still a bit behind but closer. One rant is the with
the doc: the pp() function should perhaps be advertised more
prominently, since I suspect that's what most users want most of the
time.
V Author: ABELTJE <https://metacpan.org/author/ABELTJE>
What a nice little module. It is by far the easiest to review ;-)
<br><br>I have been using my own little script called
"pmversion" which serves the same exact purpose. I guess
I'll be using V from this moment on. It's amazing doing something as
basic as showing a module's version had not been this easy or even
easier. <br>
Test::Unit
Author: MCAST <https://metacpan.org/author/MCAST>
Test::Unit is of course a fine module. But if you are shopping
around for testing framework, I recommend you try Test::Class
instead, which combines the best of two worlds. First, you get xUnit
style, but I think with a slightly simpler interface. Second, you
get to use all the standard Perl testing stuffs like Test::Simple,
Test::More and Test::Harness. This is better because it's what most
Perl modules use (so you might be more familiar with it if you're a
Perl programmer), plus there are more kinds of "assert"
functions in Test::More and friends compared to Test::Unit::Assert.
Rating: 8/10
Module::Build
Author: LEONT <https://metacpan.org/author/LEONT>
Here's the short story: first there's Exutils::MakeMaker, which
requires make and hard to extend, but everybody uses it due to lack
of alternatives. Then came Module::Build which is pure perl and
easier to use for authors, but breaks compatibility. Users can no
longer use the 'perl Makefile.PL && make && make
install' mantra. Plus, it used to not support PREFIX. Plus, MB-based
modules require MB which is not by default installed. This pisses *a
lot* of people. <br><br>Lesson to learn: maintaining
backward-compatibility is very important, especially for end users.
I think the intention of MB is a good one, but the execution could
be a bit better. For example, perhaps the "Build.PL"
script could've still just been named "Makefile.PL",
couldn't it? <br><br>I recommend people shopping for a module
installer to look at Module::Install instead. MI is a middle ground
between Eu::MM and MB. It's pure perl and easy to extend but it also
allows users (and CPAN.pm et al) to install modules the old way. It
embeds a copy of itself in every MI-based modules, so there's no
depedency hell. Best of both worlds.
Rating: 6/10
YAML::LibYAML
Author: INGY <https://metacpan.org/author/INGY>
It's about time Perl gets a complete and proper YAML parser. This is
it. In the past I've been bitten by a couple of YAML's and
YAML::Syck's minor bugs, in addition to several crashes (don't know
how they are recently). But using YAML::XS (YAML-LibYAML) I get the
feeling, for the first time, of a first class parser comparable in
stability and completeness to that in Ruby and Python.
FAQ
What is an Acme::CPANModules::* module?
An Acme::CPANModules::* module, like this module, contains just a list
of module names that share a common characteristics. It is a way to
categorize modules and document CPAN. See Acme::CPANModules for more
details.
What are ways to use this Acme::CPANModules module?
Aside from reading this Acme::CPANModules module's POD documentation,
you can install all the listed modules (entries) using cpanm-cpanmodules
script (from App::cpanm::cpanmodules distribution):
% cpanm-cpanmodules -n Import::CPANRatings::User::davidgaramond
Alternatively you can use the cpanmodules CLI (from App::cpanmodules
distribution):
( run in 2.056 seconds using v1.01-cache-2.11-cpan-13bb782fe5a )