Acme-CPANModules-Import-CPANRatings-User-stevenharyanto
view release on metacpan or search on metacpan
use.
UNIVERSAL::moniker
Author: KASEI <https://metacpan.org/author/KASEI>
Perl is not Ruby != everything Ruby does is horrible. This module
has its uses.
Time::Out
Author: PATL <https://metacpan.org/author/PATL>
A wrapper around Perl's alarm()/$SIG{ALRM}, so it has the same
limitations, e.g. you cannot use this to properly timeout external
programs started by system()/backtick. For the latter, you might
want to try IPC::Cmd (run() or run_forked()), or some simpler
interface for it like System::Timeout. <br><br>
Util::Timeout
Author: NOTBENH <https://metacpan.org/author/NOTBENH>
A wrapper around Perl's alarm()/$SIG{ALRM}, so it has the same
limitations, e.g. you cannot use this to properly timeout external
programs started by system()/backtick. For the latter, you might
want to try IPC::Cmd (run() or run_forked()), or some simpler
interface for it like System::Timeout. <br><br>
System::Timeout
Author: CHENGANG <https://metacpan.org/author/CHENGANG>
This is a thin wrapper over IPC::Cmd's run(). I'd personally use
run() directly, it's not much harder or longer to type. Plus,
IPC::Cmd is a core module. <br><br>
Module::Quote
Author: TOBYINK <https://metacpan.org/author/TOBYINK>
Wouldn't a function like
load_module("Math::Module")->new(42) be more obvious?
Is there a specific goal for using custom quote operator (which
requires Devel::Declare, and thus a C compiler to build)? <br>
Module::Hash
Author: TOBYINK <https://metacpan.org/author/TOBYINK>
Wouldn't a function like
load_module("Math::Module")->new(42) be more obvious?
Is there a specific goal for using a tied hash (since there is
already %INC)?
Promises
Author: YANICK <https://metacpan.org/author/YANICK>
5-star for its documentation. <br>
Lingua::ITA::Numbers
Author: PETAMEM <https://metacpan.org/author/PETAMEM>
Does the author care to explain the sudden influx of
Lingua::<3-letter-code>:: modules (which look like mostly just
repackaging of their corresponding Lingua::<2-letter-code>::
modules with no mention of purpose in the PODs)? The original
modules are not orphaned either (for example, I still maintain
Lingua::ID::*). <br><br>No Changes file. Versioning synchronized for
all 3-letter modules with no indication of what version of the
2-letter-code module is used. For example, Lingua::ITA::Numbers' doc
still says "decimals don't work properly", while
Lingua::IT::Numbers' doesn't (however, needless use of
Regexp::Common does gets removed).
HTTP::Headers::Patch::DontUseStorable
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
@zaxon: I'm not sure if it's a bug with HTTP::Headers, more like a
workaround for Storable. See the FAQ in the updated v0.03 for more
details. <br>
Storable
Author: NWCLARK <https://metacpan.org/author/NWCLARK>
Balancing previous glowing reviews. Storable has it faults, for
example historically its track record for file format backwards
compatibility is poor, making programs fail when loading Storable
files after the module is upgraded. <br><br>Also, more importantly,
add builtin support for Regexp object already! It's almost 2013,
Regexp object has been around for, what, more than a decade? I can
understand not supporting serializing filehandle or coderef, but
Regexp object?
Rating: 2/10
WWW::YouTube::Download
Author: OALDERS <https://metacpan.org/author/OALDERS>
Works for me too ATM. I've tried several command-line scripts (most
of them Python-based, like youtube-dl, tubenick, etc). Sometimes
they work, sometimes they broke. It's the nature of this kind of
script. The quality comes from persistence. This module has been
maintained since 2009, through several YouTube's changes. I commend
the author, good job, and thanks!
Number::Zero
From the module's POD: "The number zero and undef are difficult
to determine in Perl." <br><br>Are they? <br><br>say
!defined($data) ? "undef" : "not undef";
<br><br>say defined($data) && $data==0 ? "zero" :
"not zero"; # yes, warn if non-numeric <br><br>use
Scalar::Util 'looks_like_number'; <br> say looks_like_number($data)
&& $data==0 ? "zero" : "not zero";
<br><br>Though I understand the need for a convenient
"is_zero" function if you need to test for zero in a
program a lot.
Syntax::SourceHighlight
Author: MATLIB <https://metacpan.org/author/MATLIB>
IMO, currently the only usable (read: non-crap) code syntax
highlighting library on CPAN. Cons: you'll need to install GNU
Source-highlight (and its development library/header) which pulls
over 100MB of packages on my Debian. <br>
Rating: 8/10
Syntax::Highlight::Engine::Kate
Author: MANWAR <https://metacpan.org/author/MANWAR>
Highlighter engine doesn't seem updated (for example, defined-or is
not yet interpreted correctly by this module but already correctly
by Kate itself). Does not provide default theme (must specify all
colors). Seem to be very slow (takes 1.5s for a 18K Perl .pm file
while Pygments only takes 0.2s). <br><br>
Rating: 2/10
Syntax::Highlight::JSON
Author: MART <https://metacpan.org/author/MART>
No documentation. Combines formatting and syntax-highlighting, so
you cannot preserve original formatting. Only outputs to HTML and no
default "theme" (CSS) provided. <br>
Rating: 2/10
Syntax::Highlight::Engine::Simple
Author: AKHUETTEL <https://metacpan.org/author/AKHUETTEL>
Output looks decent. However, it currently only formats to HTML/CSS
(no ANSI, LaTeX, etc). Also, it needs more languages support. <br>
Rating: 6/10
Syntax::Highlight::Universal
Author: PALANT <https://metacpan.org/author/PALANT>
Only targets (X)HTML (i.e. no alternative output like ANSI or
LaTeX). Supposedly slow. But it doesn't matter because code no
longer builds (last updated in 2005).
Rating: 2/10
text::highlight
Outdated (no longer updated), poor capability (even for some simple
Perl code, the output is atrocious), few languages supported. A far
cry from Pygments or coderay.
Rating: 2/10
SemVer
Author: DWHEELER <https://metacpan.org/author/DWHEELER>
Good for semantic versioning scheme like 1.2.3 vs 1.2.3alpha vs
1.2.3rc (1.2.3 should be the latest, not the alpha or rc). However,
does not accept e.g. 1.0beta (at least three components are needed).
Perhaps relax this requirement? <br><br>Also take a look at
Debian::Dpkg::Version. <br>
Sort::Versions
Author: NEILB <https://metacpan.org/author/NEILB>
Good for Perl-style versioning scheme (1.2.3) but does not work as
people expect for semantic versioning scheme like 1.2.3 vs
1.2.3alpha vs 1.2.3rc (1.2.3 should be the latest, not the alpha or
rc). For handling the latter case, use SemVer. Also take a look at
Debian::Dpkg::Version.
App::Countdown
Author: SHLOMIF <https://metacpan.org/author/SHLOMIF>
Nice idea, though I'd probably just write a shell function for this.
<br>
Rating: 8/10
Data::Compare
Author: DCANTRELL <https://metacpan.org/author/DCANTRELL>
Pros: handle hashes as well as arrays, handle nested and cyclic
structure, plugins. <br><br>Cons: No cmp-like functionality
(returning -1, 0, 1), slow (even slower than Array::Compare).
Author: BOOK <https://metacpan.org/author/BOOK>
Nice collection of perl shortcuts. Today I forgot about the name for
"x!!" and nicely found it in this module.
PerlX::ArraySkip
Author: TOBYINK <https://metacpan.org/author/TOBYINK>
Cute idea as always, though I'd rather use comments rather than
taking multiple sub calls hit.
App::perlfind
Author: MARCEL <https://metacpan.org/author/MARCEL>
A timesaver. Using it on a daily basis (aliased to "pod").
Thanks, Marcel!
PerlX::Maybe
Author: TOBYINK <https://metacpan.org/author/TOBYINK>
A nice syntax addition for avoiding passing or writing a bunch of
undefs. More convenient to write than using ternary operator or
grep. I'm beginning to adore syntax modules like this (as long as it
adds negligible overhead). <br><br>
File::Path::Tiny
Author: DMUEY <https://metacpan.org/author/DMUEY>
I like the concept, but do not like the overly short names mk() and
rm(). Instead of mk(), how about mkdir_p() or mkpath() like in
File::Path. Instead of rm(), how about rm_r() or rmtree() like in
File::Path. <br>
Rating: 6/10
Exporter::Lite
Author: NEILB <https://metacpan.org/author/NEILB>
2011-10-04: I am now using Exporter::Lite exclusively instead of
Exporter. Got bit once by Exporter when using for an OO module due
to clash of assigning to @ISA vs 'use base'. +1 for putting it into
core. <br><br>EDIT 2012-08-08: Nowadays I revert back to Exporter
most of the time because Exporter is core. To avoid @ISA issue, one
simply needs to import import() instead setting @ISA: <br><br>use
Exporter qw(import); <br>
YAML::Syck
Author: TODDR <https://metacpan.org/author/TODDR>
To be fair, in my experience YAML::Syck is not "much more
buggy" than ::XS. It even sometimes works with my YAML data
while ::XS crashes. Go figure.
Devel::FindPerl
Author: LEONT <https://metacpan.org/author/LEONT>
IMO the module should explain in the POD, in what cases using $^X is
not enough or how it is different from Probe::Perl. <br><br>Anyway,
quoting CPAN Testers' CPAN Authors FAQ, $^X is not enough when: <br>
1) perl was executed with a relative path and the script has
chdir()ed; 2) because $^X originates in C's argv[0] (in the main()
function) it is possible for the calling program to exec() in such a
way that argv[0] isn't the path to the interpreter; 3) HP/UX can do
weird stuff in scripts that use #!; 4) VMS. (Not clear about #4
though :) ).
Taint::Util
Author: AVAR <https://metacpan.org/author/AVAR>
IMO this is the best module to deal with tainting. BTW there are
several other modules like Taint (only provides taint + tainted, no
untaint), Untaint (only provides untaint with awkward interface,
like $v = untaint(qr/.../, $v)), Scalar::Util (only provides
tainted), Test::Taint (does not provide untaint but provides
taint_deeply and test predicates), and several others.
Markdown::Pod
Author: KEEDI <https://metacpan.org/author/KEEDI>
I use Markdown::Pod for my module Perinci::To::POD. <br><br>This
module does not output proper POD for many (not so) edge cases,
like: <br><br>">" and the likes are not yet escaped, producing
C<>> when it should have been C<< > >> or
C<E<gt>>. <br><br>Ordered list numbering does not yet
work, e.g. "2. ...\n3. ...\n" produces "=item 1. ...
=item 1. ..." <br><br>Ordered list with item numbered other
than 1 does not work (see above). This should be supported in POD
because POD allows us to write the bullets/numbers for each item.
<br><br>Inline markup is not smart enough to differentiate
word_with_underscore. So "foo_bar and foo_baz" becomes
"fooI<bar and foo>baz". <br><br>Plus it segfaults
sometimes (might be my perl though).
Rating: 4/10
Lingua::Metadata
Author: MAJLIS <https://metacpan.org/author/MAJLIS>
As previous reviewer noted, this module is actually just a front-end
to the author's web service. Plus license is specifically BSD (which
allows this module to be included in closed source projects), this
is rather ironic to me. <br>
Finance::Currency::Convert::WebserviceX
Author: CLACO <https://metacpan.org/author/CLACO>
Simple, no-fuss interface, recommended. As mentioned in the doc, the
alternatives have some downsides: Finance::Currency::Convert::Yahoo
is based on web scraping while ::XE has usage limits. <br>
Carp::Always::Color
Author: DOY <https://metacpan.org/author/DOY>
Like Carp::Always? Want something better? Here it is. <br>
CHI Author: ASB <https://metacpan.org/author/ASB>
The DBI of caching. Stop reinventing your caching framework and just
use this. <br><br>UPDATE 2013-01-16: unfortunately, the use of Moose
reduces the usefulness of CHI for command-line scripts (0.2s/146
files/53k lines startup overhead just to initialize a File cache).
( run in 0.416 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )