Acme-CPANModules-Import-CPANRatings-User-perlancar
view release on metacpan or search on metacpan
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
package Acme::CPANModules::Import::CPANRatings::User::perlancar;
use strict;
our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-Import-CPANRatings-User-perlancar'; # DIST
our $VERSION = '0.002'; # VERSION
our $LIST = {description=>"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.",entries=>[{description=>"\nI'm not sure this really "befits a ::Tiny distribution" just because it's a thin wrapper of something. P...
1;
# ABSTRACT: List of modules mentioned by CPANRatings user perlancar
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::CPANRatings::User::perlancar - List of modules mentioned by CPANRatings user perlancar
=head1 VERSION
This document describes version 0.002 of Acme::CPANModules::Import::CPANRatings::User::perlancar (from Perl distribution Acme-CPANModules-Import-CPANRatings-User-perlancar), released on 2023-10-29.
=head1 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.
=head1 ACME::CPANMODULES ENTRIES
=over
=item L<LWP::JSON::Tiny>
Author: L<SKINGTON|https://metacpan.org/author/SKINGTON>
I'm not sure this really "befits a ::Tiny distribution" just because it's a thin wrapper of something. Please read: <a href="http://blogs.perl.org/users/dan_muey/2014/08/please-dont-use-tiny-unless-it-meets-the-tiny-criteria-thanks.html" re...
=item L<Acme::CPANRatings>
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
After the last template change of the website which is one year ago, "Was this review helpful" links no longer works. <a href="https://github.com/perlorg/perlweb/issues/232" rel="nofollow">github.com/perlorg/perlweb/issues/232</a>
<br>
Rating: 2/10
=item L<Finance::Currency::Convert::WebserviceX>
Author: L<CLACO|https://metacpan.org/author/CLACO>
No longer works. Sigh, looks like there is currently NO working generic currency converter module on CPAN anymore. Every converter module is either: 1) dead; 2) specific for some currencies only.
<br>
Rating: 2/10
=item L<Finance::Currency::Convert>
Author: L<JANW|https://metacpan.org/author/JANW>
Uses hard-coded rates in the source code. Does not seem to work anymore: convert() returns zero even after updateRates().
Rating: 2/10
=item L<Finance::Currency::Convert::XE>
Author: L<RMCKAY|https://metacpan.org/author/RMCKAY>
Of limited use because of the site's restrictive license. UPDATE: And it no longer works.
Rating: 2/10
=item L<Finance::Currency::Convert::Yahoo>
Author: L<LGODDARD|https://metacpan.org/author/LGODDARD>
No longer works (not a surprise since this module has not been updated since almost 13 years ago).
Rating: 2/10
=item L<App::used>
Author: L<IVANWILLS|https://metacpan.org/author/IVANWILLS>
Uses simple regex instead of properly parses Perl source code (PPI, Compiler::Lexer) so potentially lots of false positives. Better use existing solutions like Perl::PrereqScanner or Perl::PrereqScanner::Lite, which already come with their own CLI's.
=item L<Net::FTPServer>
Author: L<RYOCHIN|https://metacpan.org/author/RYOCHIN>
Currently the only "real" module to create FTP servers in Perl. My suggestion would be to separate the Perl API documentation vs using the ftpd*.pl script, as the Net::FTPServer documentation currently mixes the two.
=item L<Games::Sudoku::CLI>
Author: L<SZABGAB|https://metacpan.org/author/SZABGAB>
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
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>
=item L<Digest::SHA1>
Author: L<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>
=item L<File::Checksum>
Author: L<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>
=item L<WordPress::XMLRPC>
Author: L<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 ...
<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......
=item L<Text::Levenshtein::Flexible>
Author: L<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.
=item L<CPAN::Changes>
Author: L<HAARG|https://metacpan.org/author/HAARG>
Great and all, but one drawback is that it currently destroys original file's formatting in serialize().
=item L<Module::Changes::ADAMK>
Author: L<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.
=item L<Module::Metadata::Changes>
Author: L<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.
=item L<Module::Changes>
Author: L<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>
=item L<Archive::Tar::Wrapper>
Author: L<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...
=item L<Archive::Tar>
Author: L<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 ...
<br>
=item L<Hash::Util::Pick>
Author: L<PINE|https://metacpan.org/author/PINE>
One can easily use this idiom instead:
<br><br>$picked = { map {(exists $hash{$I<} ? ($>=>$hash{$I<< }):())} @keys };
<br><br>or:
<br><br>$picked = { map {$ >>=>$hash{$I<}} grep {exists $hash{$>}} @keys };
<br><br>or (if you want non-existing picked keys to be created instead):
<br><br>$picked = { map {$_ => $hash{$_}} @keys };
<br><br>but Hash::Util::Pick is implemented in XS and can be a few times faster than the above when the number of keys has reached thousands. So I guess this module has its uses.
=item L<NetObj::IPv4Address>
Author: L<HEEB|https://metacpan.org/author/HEEB>
Cons: more heavyweight (requires Moo), limited operations/methods, can only handle IPv4 and not IPv6. Pros: some operations are faster than competing modules, e.g. validation. See also: NetAddr::IP, Net::CIDR.
<br>
=item L<NetObj::MacAddress>
Author: L<HEEB|https://metacpan.org/author/HEEB>
Aside from being Moo-based (which, makes it a bit more heavyweight and with more dependencies), doesn't yet offer anything extra or more methods compared to previously existing modules like NetAddr::MAC.
Rating: 4/10
=item L<Acme::AsciiArtinator>
Author: L<MOB|https://metacpan.org/author/MOB>
Cool. Now you can create your own Camel Code with ease!
=item L<Object::Simple>
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
<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
=item L<File::Bidirectional>
Author: L<KIANWIN|https://metacpan.org/author/KIANWIN>
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
=item L<Signal::StackTrace::CarpLike>
Author: L<SARTAK|https://metacpan.org/author/SARTAK>
Nice, but Signal::StackTrace should've output something carp-like in the first place.
=item L<Devel::Messenger>
Author: L<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.
=item L<Term::Twiddle>
Author: L<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>
=item L<CHI>
Author: L<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?
=item L<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 I<Python> script to do its job. I might as ...
<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 tim...
=item L<XXX>
Author: L<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.
=back
=head1 FAQ
=head2 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 L<Acme::CPANModules> for more details.
=head2 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 L<cpanm-cpanmodules> script (from
L<App::cpanm::cpanmodules> distribution):
% cpanm-cpanmodules -n Import::CPANRatings::User::perlancar
Alternatively you can use the L<cpanmodules> CLI (from L<App::cpanmodules>
distribution):
% cpanmodules ls-entries Import::CPANRatings::User::perlancar | cpanm -n
or L<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 L<lcpan> produce a more meaningful
result for C<lcpan related-mods> command when it comes to finding related
modules for the modules listed in this Acme::CPANModules module.
See L<App::lcpan::Cmd::related_mods> for more details on how "related modules"
are found.
=head1 HOMEPAGE
Please visit the project's homepage at L<https://metacpan.org/release/Acme-CPANModules-Import-CPANRatings-User-perlancar>.
=head1 SOURCE
Source repository is at L<https://github.com/perlancar/perl-Acme-CPANModules-Import-CPANRatings-User-perlancar>.
=head1 SEE ALSO
L<Acme::CPANModules> - about the Acme::CPANModules namespace
L<cpanmodules> - CLI tool to let you browse/view the lists
=head1 AUTHOR
( run in 1.074 second using v1.01-cache-2.11-cpan-524268b4103 )