Acme-CPANModules-Import-CPANRatings-User-perlancar
view release on metacpan or search on metacpan
Parse::CPAN::Ratings
Author: LBROCARD <https://metacpan.org/author/LBROCARD>
Not as useful as the name implies. It requires you to download the
CSV of all ratings first, which BTW does not seem to be advertised
on the CPAN Ratings website. The CSV file only contains numeric
ratings and does not include any reviews. So basically what this
module does is just filter the CSV rows for a distribution's rating.
<br><br>One might want to look at WWW::CPANRatings instead.
Rating: 6/10
Acme::Curse
Author: MORITZ <https://metacpan.org/author/MORITZ>
This pure-perl module creates a shallow copy of the object instead
of directly removing blessing from the same object (which requires
XS). Acme::Damn is the more direct counterpart of bless(). <br>
Digest::SHA1
Author: GAAS <https://metacpan.org/author/GAAS>
Use Digest::SHA instead. In general, there is no reason in using
Digest::SHA1 over Digest::SHA. The latter is a core Perl module,
more updated, and implements the other algorithms while the former
only implements SHA-1 which is now deprecated. <br><br>
File::Checksum
Author: KNORR <https://metacpan.org/author/KNORR>
The "checksum" (basically just adding 16-bit words) is too
simplistic to be a real checksum or to be practically useful. Even
MD5 or CRC32 is infinitely better. <br>
WordPress::XMLRPC
Author: IGIBBS <https://metacpan.org/author/IGIBBS>
Still works, partially, but in general out of date. For example, to
get post the deprecated metaWeblog.getPost API method is still used
instead of the newer wp.getPost call (which understandably is only
introduced in WordPress 3.4, while this module is last updated with
WordPress 2.8.4). And apparently wordpress.com doesn't return
post_content anymore when you use metaWeblog.getPost.
<br><br>Luckily, performing XMLRPC request directly is easy enough.
Just use XMLRPC::Lite and peruse the Wordpress documentation here:
<a href="https://codex.wordpress.org/XML-RPC_WordPress_API"
rel="nofollow">codex.wordpress.org/XML-RPC_WordPress...</a>
Text::Levenshtein::Flexible
Author: MBETHKE <https://metacpan.org/author/MBETHKE>
My new favorite Levenshtein distance module. It's as fast (if not
faster) than Text::Levenshtein::XS and can provide a speed boost if
you don't care about distances above a certain limit. Which I think
in many cases is true.
CPAN::Changes
Author: HAARG <https://metacpan.org/author/HAARG>
Great and all, but one drawback is that it currently destroys
original file's formatting in serialize().
Module::Changes::ADAMK
Author: ADAMK <https://metacpan.org/author/ADAMK>
Any module from ADAMK should be interesting, including this one. But
please take a look at CPAN::Changes for the de facto standard
nowadays.
Module::Metadata::Changes
Author: RSAVAGE <https://metacpan.org/author/RSAVAGE>
Like Module::Changes, this module also tries to use a more defined
format for Changes. Sadly, it has not caught on. Please also take a
look at CPAN::Changes which seems to be the de facto standard
nowadays.
Module::Changes
Author: MARCEL <https://metacpan.org/author/MARCEL>
In general I'm not opposed to the idea of this module. The included
'changes' script is also pretty cool (which I'm trying to recreate,
for CPAN::Changes). <br><br>Just pointing out that I believe this
module has not really "caught on" among the CPAN
community. What has, is, CPAN::Changes which is followed by many
authors and even employed on MetaCPAN. <br>
Archive::Tar::Wrapper
Author: ARFREITAS <https://metacpan.org/author/ARFREITAS>
Sadly there is not a single perfect Archive::Tar::* module out
there. Either a module offers incomplete API, (was) buggy, or it is
crippled/limited in some way. Plus, the modules are mostly
incompatible with one another. And that's why TIMTOWTDI. <br><br>For
the task of just listing files in an archive, for example, it seems
only Archive::Tar and Archive::Tar::Wrapper are usable.
Archive::Tar::Wrapper is fast (because it utilizes external C-based
tar utility) and does not load all contents of an archive into
memory, but requires writing to temporary files and of course
requires a tar utility so portability to non-Unix systems might be
an issue.
Archive::Tar
Author: BINGOS <https://metacpan.org/author/BINGOS>
Sadly there is not a single perfect Archive::Tar::* module out
there. Either a module offers incomplete API, (was) buggy, or it is
crippled/limited in some way. Plus, the modules are mostly
incompatible with one another. And that's why TIMTOWTDI. <br><br>For
the task of just listing files in an archive, for example, it seems
only Archive::Tar and Archive::Tar::Wrapper are usable. Archive::Tar
is a core module, but relatively slow, and extracts all contents of
an archive in memory so it's not workable for huge archives. <br>
Hash::Util::Pick
Author: PINE <https://metacpan.org/author/PINE>
One can easily use this idiom instead: <br><br>$picked = { map
{(exists $hash{$*} ? ($*=>$hash{$*}):())} @keys }; <br><br>or:
<br><br>$picked = { map {$*=>$hash{$*}} grep {exists $hash{$*}}
@keys }; <br><br>or (if you want non-existing picked keys to be
At the time of this review, I find two modules for reading a file
backwards: File::Bidirectional (FBidi) and File::ReadBackwards
(FRB). <br><br>Both modules have roughly the same footprint and
minimal dependencies. Both provide OO as well as tie interface. Both
respect the $/ setting. <br><br>FBidi pro's: <br> - has the unique
feature of reading backward/forward and switch direction in the
middle; <br><br>FBidi con's: <br> - FBidi is 15-20% slower than
FBidi when reading backwards; <br> - reading forward is just as slow
as backward, so if you only need to read forward, obviously there's
no need to use this module; <br><br>FBidi's POD contains information
on benchmarks (it's roughly an order of magnitude slower than raw
Perl's open+read/diamond operator, still the case in 2014). While
FRB's POD contains information on how the thing works behind the
scenes. <br><br>In summary, both modules are roughly the same. I'd
prefer FRB unless in the rarer cases where I need bidirectional
reading. <br>
Rating: 8/10
Signal::StackTrace::CarpLike
Author: SARTAK <https://metacpan.org/author/SARTAK>
Nice, but Signal::StackTrace should've output something carp-like in
the first place.
Devel::Messenger
Author: KOLIBRIE <https://metacpan.org/author/KOLIBRIE>
I think this is basically logging under a fancy name and with a more
cumbersome interface. Look at Log::Any instead.
Term::Twiddle
Author: SCOTTW <https://metacpan.org/author/SCOTTW>
Cute! I didn't know SIGALRM still works even though you're doing
blocking I/O or calling other programs. But unfortunately it doesn't
work if you sleep(), making this approach not as attractive. <br>
CHI Author: ASB <https://metacpan.org/author/ASB>
The move to Moo is very welcome, but I wish there were an
alternative of CHI which is even more lightweight (starts in under
0.01s). CHI::Tiny, anyone?
App::YTDL
Bit of a shame that we currently don't have a working YouTube
download script/module (WWW::YouTube::Download is last updated 2013
and has been broken for a long while). This module actually requires
another *Python* script to do its job. I might as well skip this and
go straight to the Python script. <br><br>UPDATE 2016-03-04: I guess
it's been so for a few years, but this still needs to be said: For
downloading YouTube videos, use youtube-dl (a far more popular
Python project) and just forget the rest. Keeping up with YouTube
changes is many times a full time job. Nothing else comes remotely
close.
XXX Author: INGY <https://metacpan.org/author/INGY>
The part that makes this module convenient is that the functions
return their original arguments. So when debugging (peppering dump
statements), you don't have to change this: <br><br>return
["some", $expr]; <br><br>to this (taking an example from
another dumping module, Data::Dump): <br><br>my $tmp =
["some", $expr]; dd $tmp; return $tmp; <br><br>but just
this: <br><br>return YYY ["some", $expr]; <br><br>This
should be imitated by the other dumper functions.
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::perlancar
Alternatively you can use the cpanmodules CLI (from App::cpanmodules
distribution):
% cpanmodules ls-entries Import::CPANRatings::User::perlancar | cpanm -n
or Acme::CM::Get:
% perl -MAcme::CM::Get=Import::CPANRatings::User::perlancar -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n
or directly:
% perl -MAcme::CPANModules::Import::CPANRatings::User::perlancar -E'say $_->{module} for @{ $Acme::CPANModules::Import::CPANRatings::User::perlancar::LIST->{entries} }' | cpanm -n
This Acme::CPANModules module also helps lcpan produce a more meaningful
result for "lcpan related-mods" command when it comes to finding related
modules for the modules listed in this Acme::CPANModules module. See
App::lcpan::Cmd::related_mods for more details on how "related modules"
are found.
HOMEPAGE
Please visit the project's homepage at
<https://metacpan.org/release/Acme-CPANModules-Import-CPANRatings-User-p
erlancar>.
SOURCE
Source repository is at
<https://github.com/perlancar/perl-Acme-CPANModules-Import-CPANRatings-U
ser-perlancar>.
SEE ALSO
Acme::CPANModules - about the Acme::CPANModules namespace
cpanmodules - CLI tool to let you browse/view the lists
AUTHOR
perlancar <perlancar@cpan.org>
CONTRIBUTING
To contribute, you can send patches by email/via RT, or send pull
( run in 0.434 second using v1.01-cache-2.11-cpan-d7f47b0818f )