Acme-CPANModules-Import-CPANRatings-User-stevenharyanto
view release on metacpan or search on metacpan
Curses::Toolkit
Nice effort, but one might also want to look at Tickit, which is not
curses-based and looks more promising. Being based on Curses, this
module still suffers from the many bugs and limitations of curses.
The lack of Shift-Tab support, for one. <br><br>See also: <a
href="http://www.perlmonks.org/?node_id=1059926"
rel="nofollow">www.perlmonks.org/?node_id=1059926</a> <br><br>As I
explore doing TUI more, I will update the reviews. <br>
Moo::Lax
Author: DAMS <https://metacpan.org/author/DAMS>
Great idea! I've been bitten and annoyed by strictures on more than
one occasion. It has its uses, but users should have a choice on how
to react to warnings. <br>
App::YTDL
This module is based on WWW::YouTube::Download but its documentation
does not yet explain how it differs from WWW::YouTube::Download.
From what I see at a glance, App::YTDL supports downloading a video
from a playlist and setting download speed limit, but perhaps the
author should do the mode detailed explaining to help users when to
choose between the two. <br>
Data::CompactDump
Author: MILSO <https://metacpan.org/author/MILSO>
At the current form, simply too simplistic to be an alternative to
Data::Dump or Data::Dumper. No support for blessed refs,
filehandle/globs, circular references, and so on. Changes numbers to
stringy numbers or vice versa. <br><br>Currently also contains some
bugs like for -1 (changes it to string), "\" (produces
invalid dump, does not handle backslash yet currently), <br><br>And
Data::Dump's dump of {} and [] are currently more compact ;-)
<br><br>Need to be improved significantly first. But keep up the
effort.
P Author: LAWALSH <https://metacpan.org/author/LAWALSH>
I personally don't mind the namespace choice. There are other
single-letter CPAN modules too like B, L, U, V. If you have a beef
with regard to namespace, don't single out P and perhaps downvote
the other modules too. <br><br>Having said that, I would like to
comment on the design and implementation of this module. <br><br>1)
The choice of Unicode character U+2204 as representation of undef.
Unless one does something like 'binmode STDOUT, ":utf8"',
with 'say P undef' I am just trading one warning ("Use of
uninitialized value") with another ("Wide character in
say/print"). The wide character warning is avoided if you do 'P
"%s", undef' though, which means... <br><br>2) P loads
utf8 by default. For ultra-lightweight cases, this is sometimes not
desirable. There is currently no way to turn this off. <br><br>3)
The arbitrary choice of three levels deep when printing references.
This can be customized but with an unusual syntax. But again, the
arbitrary choice of three. <br><br>4) The "complex" rules
of newline printing. p() is like puts, it can optionally add a
newline. But unlike puts, the doc says it can also remove newlines.
The behavior can also change if the string to be printed ends with
0x83. <br><br>I might use P for a sprintf/printf replacement, but
for debugging values, I'd prefer something "dumber" like
Data::Dump::Color (or Data::Printer, if that's your thing).
Xporter
Author: LAWALSH <https://metacpan.org/author/LAWALSH>
A couple of comments. First, if you want to import the default
exports *as well as* some additional others, you can use Exporter's
feature (the :DEFAULT tag): <br><br>use SomeModule qw(:DEFAULT a b
c); <br><br>or you can also "use" twice: <br><br>use
SomeModule; # imports default exports <br><br>use SomeModule qw(a b
c); # import a, b, c <br><br>Second, if you use Xporter, your module
will behave unlike most CPAN modules out there, because a majority
of modules use Exporter. When people see this Perl code: <br><br>use
SomeModule qw(a b c); <br><br>normally they will expect only a, b,
and c are exported. If SomeModule uses Xporter, it will also by
default export the default exports. <br><br>Basically Xporter is
just Exporter with a different default (not arguably better or more
user-friendly). For the sake of minimizing surprise to my users, I
would avoid the use of Xporter. <br><br>UPDATE 2014-01-24: some
edits. I appreciate the effort of the author to defend her module,
though I am not convinced by her arguments.
Dist::Zilla::Shell
Author: DOLMEN <https://metacpan.org/author/DOLMEN>
Nice tool that lets you type dzil commands like 'build', 'test', etc
while sending all the other unknown commands like 'ls -l', 'man Foo'
to the underlying shell. Also lets you avoid multiple startup
overhead of dzil :-)
CPANPLUS::Shell::Curses
Author: MARCUS <https://metacpan.org/author/MARCUS>
Unmaintained. Installs but no longer runs.
Rating: 2/10
Task::Mechanistic
If you peek into its Makefile.PL, you'll see a seemingly
random/heterogenous collection of modules to install (instead of
just WWW::Mechanize). This is probably a Task::BeLike::$AUTHOR in
disguise. <br><br>
Sereal
Author: YVES <https://metacpan.org/author/YVES>
So far the best of the bunch. <br><br>FAST: much faster than
Storable, roughly the same speed as (sometimes slightly faster than)
Data::Clone for cloning. <br><br>FEATUREFUL: Can handle circular
references, Regexp objects (trips out-of-the-box Storable),
JSON::{PP,XS}::Boolean objects (trips Data::Clone). <br><br>COMPACT:
definitely more compact (up to several times) than Storable.
<br><br>I'm sold. What more do you want? Le Storable est mort, vive
le Sereal!
Test::Tester
Author: EXODIST <https://metacpan.org/author/EXODIST>
If you write test functions, you need this. It's like the
"Test::More" for "Test::More". However, it
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).
So 4 stars instead of 5. Let's hope the author migrates to Moo
someday. <br>
Rating: 8/10
Monkey::Patch
Author: FRODWITH <https://metacpan.org/author/FRODWITH>
Compared to several other monkey-patching modules (like Sub::Monkey
or Class::Monkey) I prefer this one because the interface is
simplest and the documentation is the most straightforward. Plus it
can do stacked patching and unordered restore, which is cool.
<br><br>
Log::AutoDump
Author: CAGAO <https://metacpan.org/author/CAGAO>
This module is simple and to the point. Unfortunately, if you're a
user of Log4perl or other logging framework, you'll have to switch
just for a single feature (autodumping). <br><br>An alternative is
to use Log::Any, which also features autodumping (via
$log->debugf("%s", $complex), $log->warnf(), and
friends), while still allowing you to use Log4perl and other
frameworks supported by Log::Any. <br><br>
List::Pairwise
Author: TDRUGEON <https://metacpan.org/author/TDRUGEON>
Two nice and possibly very useful functions. But IMO the names
'mapp' and 'grepp' are two similar to 'map' and 'grep', making it
prone to typos and misreading. Perhaps consider 'map2' and 'grep2'?
Log::Log4perl::Appender::File::FixedSize
Author: HOREA <https://metacpan.org/author/HOREA>
Module name should perhaps be
Log::Log4perl::Appender::File::RoundRobin to make it clearer that
the backend is File::RoundRobin. <br>
Any::Mo
Why exclude Moo? <br><br>Also the issue with any Any::* (or Any::*)
modules is that there should be a mechanism (preferably a common
one) to adjust the ordering. Sometimes I prefer Moose first, for
full capability or compatibility or whatever. Sometimes I prefer
Mouse or Moo, for quick startup (but don't mind Moose if those are
not available). This also happens to me for YAML::Any: in some cases
I prefer YAML::Syck, in others YAML::XS, this depends on the data
that I'm handling. <br>
PerlX::Perform
Author: TOBYINK <https://metacpan.org/author/TOBYINK>
I personally don't see much value of this syntactic sugar since Perl
already allows us to express clearly. Pick one: <br><br>for ($foo) {
say $_ if defined } <br><br>for (grep {defined} $foo) { say $_ }
<br><br>do { say $_ if defined } for $foo <br><br>say $_ for grep
{defined} $foo <br><br>And save yourself from having to remember
whether we should add a comma or not before "wherever".
<br>
TOBYINK::PerlX::A
I have nothing against bundles like this, but beware that adding
'use TOBYINK::PerlX::A' will cause Perl to load 460 files and
compile +- 160k lines (takes 1s on my Core i5 machine and 8s on my
Atom netbook).
WWW::Google::Images
Just adding a note that this module is unmaintained (as expressed by
the author) and has stopped working for some time. If you are
looking for alternatives, try REST::Google (which includes
REST::Google::Search::Images). The latter has been working OK for
me.
Acme::Damn
Author: IBB <https://metacpan.org/author/IBB>
5 stars for cute metaphor (there's also Acme::Holy by the same
author, but that is just another implementation of Scalar::Util's
blessed()) and for prompt support from the author. <br><br>I'm sure
there exists a real use case to move this out of Acme::, however
obscure that might be. Can't come up with any right now, all I can
think of is reblessing, which can be handled with bless() from the
( run in 2.016 seconds using v1.01-cache-2.11-cpan-f56aa216473 )