Acme-CPANModules-Import-CPANRatings-User-davidgaramond
view release on metacpan or search on metacpan
NAME
Acme::CPANModules::Import::CPANRatings::User::davidgaramond - List of
modules mentioned by CPANRatings user davidgaramond
VERSION
This document describes version 0.002 of
Acme::CPANModules::Import::CPANRatings::User::davidgaramond (from Perl
distribution Acme-CPANModules-Import-CPANRatings-User-davidgaramond),
released on 2023-10-29.
DESCRIPTION
This list is generated by scraping CPANRatings (cpanratings.perl.org)
user page.
This list is generated by scraping CPANRatings (cpanratings.perl.org)
user page.
ACME::CPANMODULES ENTRIES
Perl6::Say
Author: CHORNY <https://metacpan.org/author/CHORNY>
Ok, it's not 2004 anymore, I suggest we retire or start to deprecate
this module? This module now requires Perl 5.8, and Perl 5.10+ has
"say" built in, so basically this is a module specifically
for 5.8 *only*.
Rating: 4/10
Data::Rmap
Author: BOWMANBS <https://metacpan.org/author/BOWMANBS>
I was looking for a simple way to transform all DateTime objects in
my data structure into string (e.g. "2010-07-06"). After
failed experiment with Data::Walk and dumping Data::Transformer due
to unsightly interface, I found Data::Rmap. It's straightforward to
choose. <br><br>My only complaint would be the name: it's not
immediately searchable (I was searching for 'data modify', 'data
walk', 'data traverse', 'modify data inplace', and the like). Also,
the name "map" suggests that the function will return a
copy of the data (like Perl's builtin map) instead of modifying
inplace.
Data::Walk
Author: GUIDO <https://metacpan.org/author/GUIDO>
Nice interface (the analogy to File::Find certainly helps) and very
straightforward to use, but one thing I can't do is modify the data
inplace. I spent about an of hours trying to make Data::Walk do
inplace modification, but finally gave up and use Data::Rmap
instead.
Rating: 8/10
Data::Transformer
Author: BALDUR <https://metacpan.org/author/BALDUR>
Frankly, I don't like the interface. I suspect most people would
like to just specify one callback function instead of one for each
type. Also I don't like having to work with $$_ ($_ should perhaps
be aliased to the real data). As the Data::Transformer's POD also
said, those looking for alternatives can checkout Data::Walk and
Data::Rmap, which I recommend instead. <br>
Rating: 4/10
Data::Traverse
Author: FRIEDO <https://metacpan.org/author/FRIEDO>
I find the interface rather unintuitive, because I expect data to be
in $_ (instead of type). For those looking for alternatives, see
also Data::Walk (which provides breadth-first as well as
depth-first) and Data::Rmap (which provides inplace modification).
<br>
Rating: 4/10
Regexp::Grammars
Author: DCONWAY <https://metacpan.org/author/DCONWAY>
Parse::RecDescent is dead. Long live Regexp::Grammars! <br><br>As
Damian himself has said/presented, RG is the successor for the
popular PRD. <br><br>The docs of RG is not as complete (yet) as
PRD's. <br><br>The PRD grammar syntax is also nicer/cleaner (due to
RG having some restrictions because you are writing your grammar
inside a regex). <br><br>RG doesn't (yet) have some of the features
of PRD, like <leftop> and <rightop>. But it does have
most of the features, and add a few of its own. <br><br>RG performs
significantly faster than PRD. <br><br>In general, whenever you
consider PRD to be a good candidate of tool to solve your problem,
consider using RG. <br><br>But you need Perl 5.10+ to use RG, as it
depends on regex features not found in older Perl. <br>
Rating: 8/10
Parse::RecDescent
Author: JTBRAUN <https://metacpan.org/author/JTBRAUN>
Responding to previous comment from MB: "Have you the time to
do this Damian?" The answer is yes, in the form of
Regexp::Grammars, which Damian said himself is the successor of
Parse::RecDescent. <br><br>To give credit to this module, PRD is
very featureful and easy to use, it's very convenient to generate
parsers, and the docs is quite complete. The only problem with it
is, as many have pointed out, speed. <br><br>It is *seriously* slow,
with parser generation can take up to half a second on my laptop
with a moderate grammar (200-400 lines) and parsing can take seconds
even minutes for a moderately long string. It is orders of magnitude
slower than other parsers. Do think a few times before deciding you
can take the performance hit of PRD. <br><br>For alternatives, try
Regexp::Grammars. (Or Parse::Yapp or Parse::EYapp, as other
reviewers have written.)
Rating: 6/10
Test::Seperate
Sorry, just commenting the name, shouldn't it be Separate?
File::Size
Author: OFER <https://metacpan.org/author/OFER>
Frankly I prefer the name and interface of Filesys::DiskUsage.
Sadly, despite the docs mentioning "blocks", this module
doesn't really count block usage like the Unix "du"
command, because it doesn't take multiple hard links into account.
<br><br>Even more sadly, Filesys::DiskUsage doesn't either.
<br><br>I guess I'll have to do with 'system "du $file"'
command for now. <br>
Rating: 4/10
DateTime
Author: DROLSKY <https://metacpan.org/author/DROLSKY>
*THE* definitive date/time handling module in Perl (and even maybe
in all major programming languages). Can't believe I went through
all the pain of reinventing the wheel, and using various date/time
modules of various quality & interface. If only I had known
DateTime earlier. <br><br>Look no more, DateTime it is. <br>
Data::Rx
Author: RJBS <https://metacpan.org/author/RJBS>
I've been mulling over writing this kind of module (planning to call
it Schema::Nested or something), but never got around to do it.
Thankfully somebody stepped up and did it! Keep up the good work,
will be looking forward to future releases (especially i'm hoping
for some subclassing mechanism, for better reuse of schemas). <br>
DBI::Mysqlsimple
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:
<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>
( run in 1.245 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )