view release on metacpan or search on metacpan
# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.030.
Changes
LICENSE
MANIFEST
META.json
META.yml
Makefile.PL
README
devdata/perlancar
devscript/update
dist.ini
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm
t/00-compile.t
t/author-critic.t
t/author-pod-coverage.t
t/author-pod-syntax.t
weaver.ini
"JSON::Create" : "0",
"JSON::MultiValueOrdered" : "0",
"JSON::Tiny" : "0",
"LWP::JSON::Tiny" : "0",
"Lingua::EN::Inflect" : "0",
"Lingua::EN::PluralToSingular" : "0",
"Log::Declare" : "0",
"Logfile::Rotate" : "0",
"Module::Changes" : "0",
"Module::Changes::ADAMK" : "0",
"Module::Metadata::Changes" : "0",
"Net::FTPServer" : "0",
"NetObj::IPv4Address" : "0",
"NetObj::MacAddress" : "0",
"Object::Simple" : "0",
"PPR" : "0",
"Parse::CPAN::Ratings" : "0",
"Perl::Critic" : "0",
"Perl::PrereqScanner::Lite" : "0",
"Regexp::Assemble" : "0",
"Set::Scalar" : "0",
"JSON::Create" : "0",
"JSON::MultiValueOrdered" : "0",
"JSON::Tiny" : "0",
"LWP::JSON::Tiny" : "0",
"Lingua::EN::Inflect" : "0",
"Lingua::EN::PluralToSingular" : "0",
"Log::Declare" : "0",
"Logfile::Rotate" : "0",
"Module::Changes" : "0",
"Module::Changes::ADAMK" : "0",
"Module::Metadata::Changes" : "0",
"Net::FTPServer" : "0",
"NetObj::IPv4Address" : "0",
"NetObj::MacAddress" : "0",
"Object::Simple" : "0",
"PPR" : "0",
"Parse::CPAN::Ratings" : "0",
"Perl::Critic" : "0",
"Perl::PrereqScanner::Lite" : "0",
"Regexp::Assemble" : "0",
"Set::Scalar" : "0",
"version" : "0.10"
},
{
"class" : "Dist::Zilla::Plugin::PodnameFromFilename",
"name" : "@Author::PERLANCAR/PodnameFromFilename",
"version" : "0.02"
},
{
"class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
"config" : {
"Dist::Zilla::Role::ModuleMetadata" : {
"Module::Metadata" : "1.000037",
"version" : "0.006"
}
},
"name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
"version" : "0.064"
},
{
"class" : "Dist::Zilla::Plugin::PERLANCAR::MetaResources",
"name" : "@Author::PERLANCAR/PERLANCAR::MetaResources",
"version" : "0.043"
"version" : "0.001"
},
{
"class" : "Dist::Zilla::Plugin::CheckSelfDependency",
"config" : {
"Dist::Zilla::Plugin::CheckSelfDependency" : {
"finder" : [
":InstallModules"
]
},
"Dist::Zilla::Role::ModuleMetadata" : {
"Module::Metadata" : "1.000037",
"version" : "0.006"
}
},
"name" : "@Author::PERLANCAR/CheckSelfDependency",
"version" : "0.011"
},
{
"class" : "Dist::Zilla::Plugin::Git::Contributors",
"config" : {
"Dist::Zilla::Plugin::Git::Contributors" : {
}
],
"include_underscores" : 0
},
"Dist::Zilla::Role::MetaProvider::Provider" : {
"$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
"inherit_missing" : 1,
"inherit_version" : 1,
"meta_noindex" : 1
},
"Dist::Zilla::Role::ModuleMetadata" : {
"Module::Metadata" : "1.000037",
"version" : "0.006"
}
},
"name" : "@Author::PERLANCAR/MetaProvides::Package",
"version" : "2.004003"
},
{
"class" : "Dist::Zilla::Plugin::PERLANCAR::Authority",
"name" : "@Author::PERLANCAR/PERLANCAR::Authority",
"version" : "0.001"
class: Dist::Zilla::Plugin::Rinci::AbstractFromMeta
name: '@Author::PERLANCAR/Rinci::AbstractFromMeta'
version: '0.10'
-
class: Dist::Zilla::Plugin::PodnameFromFilename
name: '@Author::PERLANCAR/PodnameFromFilename'
version: '0.02'
-
class: Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec
config:
Dist::Zilla::Role::ModuleMetadata:
Module::Metadata: '1.000037'
version: '0.006'
name: '@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec'
version: '0.064'
-
class: Dist::Zilla::Plugin::PERLANCAR::MetaResources
name: '@Author::PERLANCAR/PERLANCAR::MetaResources'
version: '0.043'
-
class: Dist::Zilla::Plugin::CheckChangeLog
name: '@Author::PERLANCAR/CheckChangeLog'
-
class: Dist::Zilla::Plugin::CheckMetaResources
name: '@Author::PERLANCAR/CheckMetaResources'
version: '0.001'
-
class: Dist::Zilla::Plugin::CheckSelfDependency
config:
Dist::Zilla::Plugin::CheckSelfDependency:
finder:
- ':InstallModules'
Dist::Zilla::Role::ModuleMetadata:
Module::Metadata: '1.000037'
version: '0.006'
name: '@Author::PERLANCAR/CheckSelfDependency'
version: '0.011'
-
class: Dist::Zilla::Plugin::Git::Contributors
config:
Dist::Zilla::Plugin::Git::Contributors:
git_version: 2.25.1
include_authors: 0
include_releaser: 1
-
class: Dist::Zilla::Plugin::FinderCode
name: '@Author::PERLANCAR/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
version: '6.030'
include_underscores: 0
Dist::Zilla::Role::MetaProvider::Provider:
$Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004'
inherit_missing: 1
inherit_version: 1
meta_noindex: 1
Dist::Zilla::Role::ModuleMetadata:
Module::Metadata: '1.000037'
version: '0.006'
name: '@Author::PERLANCAR/MetaProvides::Package'
version: '2.004003'
-
class: Dist::Zilla::Plugin::PERLANCAR::Authority
name: '@Author::PERLANCAR/PERLANCAR::Authority'
version: '0.001'
-
class: Dist::Zilla::Plugin::OurDate
name: '@Author::PERLANCAR/OurDate'
one can't parse HTML or balanced parentheses using regex, you can
just point him to this module to shut him up (although, if he had
said that one *shouldn't*...). <br><br>Also now you can say that
Perl is a simple language that is easy to learn. Why? Well, it's so
simple you can parse the whole syntax with a single regex. <br><br>
DBIx::Compare
Author: CJONES <https://metacpan.org/author/CJONES>
Use MySQL-specific SQL dialect "SHOW TABLES" so comparing
e.g. two SQLite database is an instant fail, even though there is
DBIx::Compare::SQLite. Instead of the common convention like
DBIx::Compare->new(...), uses db_comparison->new(...),
sqlite_comparison->new(...), etc.
Rating: 4/10
Perl::Critic
Author: PETDANCE <https://metacpan.org/author/PETDANCE>
Hey, Perl::Critic has not been reviewed for quite a while...
modules like this are great. A further step would be an option to
omit $wanted for even simpler cases, but that would probably break
the interface. Another alternative is File::Finder, but it forces OO
style. <br>
Rating: 8/10
Hash::MD5
Author: MZIESCHA <https://metacpan.org/author/MZIESCHA>
Since this is essentially md5(dump($data)), why restrict yourself to
hash? This works also for any kind of Perl data structure.
DateTime::Format::Docker
Author: MZIESCHA <https://metacpan.org/author/MZIESCHA>
Isn't this basically ISO8601 (see DateTime::Format::ISO8601)?
WWW::CPANRatings
Author: CORNELIUS <https://metacpan.org/author/CORNELIUS>
To get the ratings for a single distribution, this client library
needs to download /csv/all_ratings.csv (~80KB at the time of this
writing) first. This is not the fault of the client because the
website indeed does not provide the necessary ratings data on the
/dist/:DISTNAME page. The client library should perhaps cache the
CSV response though. The implementation could also be simplified by
using slimmer libraries for this simple scraping task. But other
than that, does what it says on the tin.
Rating: 8/10
Parse::CPAN::Ratings
Author: LBROCARD <https://metacpan.org/author/LBROCARD>
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>
href="https://metacpan.org/pod/Module::Require"
rel="nofollow">metacpan.org/pod/Module::Require</a> (since 2001),
also nicer interface, more flexible, and more lightweight
implementation. <br><br>I don't like Submodules' interface, it's too
verbose and clunky. IMO, the interface should be a one-liner and
without manual looping.
Regexp::Assemble
Author: RSAVAGE <https://metacpan.org/author/RSAVAGE>
I guess it depends on your data, but for random shortish strings
(hundreds to thousands of them), I find that using raw joining is
much faster to assemble the regex. And the resulting regex is also
(much) faster to match. Please see Bencher::Scenario::RegexpAssemble
if you're interested in the benchmark script.
Tie::Scalar::Callback
Author: DFARRELL <https://metacpan.org/author/DFARRELL>
There is a prior art Tie::Simple (created in 2004) which works for
scalar as well as the other types of ties that perl supports (array,
devdata/perlancar view on Meta::CPAN
<script type="text/javascript">
var global_auth_token = "";
</script>
</head>
<body class="page-cpanratings section_onion">
<nav class="navbar navbar-inverse" data-height="120">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<img src="//cdn.perl.org/perlweb/images/logo_cpanratings.svg" alt="Reviews by perlancar | Perl, modern programming" class="page-logo">
</a>
</div>
devdata/perlancar view on Meta::CPAN
<p>
<a href="/user/perlancar.rss">RSS</a>
</p>
<div id="reviews">
<div class="review" data-review="13242" data-user="12646">
<a name="13242"></a>
<h3 class="review_header">
<a href="/dist/LWP-JSON-Tiny">
LWP-JSON-Tiny</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13240" data-user="12646">
<a name="13240"></a>
<h3 class="review_header">
<a href="/dist/Acme-CPANRatings">
Acme-CPANRatings</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13238" data-user="12646">
<a name="13238"></a>
<h3 class="review_header">
<a href="/dist/Finance-Currency-Convert-WebserviceX">
Finance-Currency-Convert-WebserviceX</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13236" data-user="12646">
<a name="13236"></a>
<h3 class="review_header">
<a href="/dist/Finance-Currency-Convert">
Finance-Currency-Convert</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13234" data-user="12646">
<a name="13234"></a>
<h3 class="review_header">
<a href="/dist/Finance-Currency-Convert-XE">
Finance-Currency-Convert-XE</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13232" data-user="12646">
<a name="13232"></a>
<h3 class="review_header">
<a href="/dist/Finance-Currency-Convert-Yahoo">
Finance-Currency-Convert-Yahoo</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13182" data-user="12646">
<a name="13182"></a>
<h3 class="review_header">
<a href="/dist/App-used">
App-used</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13178" data-user="12646">
<a name="13178"></a>
<h3 class="review_header">
<a href="/dist/Net-FTPServer">
Net-FTPServer</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13166" data-user="12646">
<a name="13166"></a>
<h3 class="review_header">
<a href="/dist/Games-Sudoku-CLI">
Games-Sudoku-CLI</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13140" data-user="12646">
<a name="13140"></a>
<h3 class="review_header">
<a href="/dist/PPR">
PPR</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13136" data-user="12646">
<a name="13136"></a>
<h3 class="review_header">
<a href="/dist/DBIx-Compare">
DBIx-Compare</a>
devdata/perlancar view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-2.0.png" alt="**">
</h3>
<blockquote class="review_text">
Use MySQL-specific SQL dialect "SHOW TABLES" so comparing e.g. two SQLite database is an instant fail, even though there is DBIx::Compare::SQLite. Instead of the common convention like DBIx::Compare->new(...), uses db_comparison->new(...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2017-08-13T00:56:10
(<a href="/dist/DBIx-Compare#13136">permalink</a>)
</p>
<div class="helpfulq">
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13132" data-user="12646">
<a name="13132"></a>
<h3 class="review_header">
<a href="/dist/Perl-Critic">
Perl-Critic</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13130" data-user="12646">
<a name="13130"></a>
<h3 class="review_header">
<a href="/dist/Config-Perl">
Config-Perl</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13126" data-user="12646">
<a name="13126"></a>
<h3 class="review_header">
<a href="/dist/Array-Contains">
Array-Contains</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13124" data-user="12646">
<a name="13124"></a>
<h3 class="review_header">
<a href="/dist/Array-Unique">
Array-Unique</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13112" data-user="12646">
<a name="13112"></a>
<h3 class="review_header">
<a href="/dist/Dist-Zilla-Plugin-ReadmeFromPod">
Dist-Zilla-Plugin-ReadmeFromPod</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13110" data-user="12646">
<a name="13110"></a>
<h3 class="review_header">
<a href="/dist/Dist-Zilla-Plugin-Hook">
Dist-Zilla-Plugin-Hook</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13082" data-user="12646">
<a name="13082"></a>
<h3 class="review_header">
<a href="/dist/File-Tail-Dir">
File-Tail-Dir</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13052" data-user="12646">
<a name="13052"></a>
<h3 class="review_header">
<a href="/dist/Algorithm-Dependency">
Algorithm-Dependency</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13050" data-user="12646">
<a name="13050"></a>
<h3 class="review_header">
<a href="/dist/Data-Match">
Data-Match</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="13000" data-user="12646">
<a name="13000"></a>
<h3 class="review_header">
<a href="/dist/File-Find-Wanted">
File-Find-Wanted</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12954" data-user="12646">
<a name="12954"></a>
<h3 class="review_header">
<a href="/dist/Hash-MD5">
Hash-MD5</a>
(<a href="https://metacpan.org/release/Hash-MD5/">0.08</a>)
</h3>
<blockquote class="review_text">
Since this is essentially md5(dump($data)), why restrict yourself to hash? This works also for any kind of Perl data structure.
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2017-01-29T17:42:51
(<a href="/dist/Hash-MD5#12954">permalink</a>)
</p>
<div class="helpfulq">
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12952" data-user="12646">
<a name="12952"></a>
<h3 class="review_header">
<a href="/dist/DateTime-Format-Docker">
DateTime-Format-Docker</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12938" data-user="12646">
<a name="12938"></a>
<h3 class="review_header">
<a href="/dist/WWW-CPANRatings">
WWW-CPANRatings</a>
devdata/perlancar view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-4.0.png" alt="****">
</h3>
<blockquote class="review_text">
To get the ratings for a single distribution, this client library needs to download /csv/all_ratings.csv (~80KB at the time of this writing) first. This is not the fault of the client because the website indeed does not provide the necessary ratings ...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2017-01-23T07:21:39
(<a href="/dist/WWW-CPANRatings#12938">permalink</a>)
</p>
<div class="helpfulq">
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12936" data-user="12646">
<a name="12936"></a>
<h3 class="review_header">
<a href="/dist/Parse-CPAN-Ratings">
Parse-CPAN-Ratings</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12928" data-user="12646">
<a name="12928"></a>
<h3 class="review_header">
<a href="/dist/Acme-Curse">
Acme-Curse</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12916" data-user="12646">
<a name="12916"></a>
<h3 class="review_header">
<a href="/dist/Digest-SHA1">
Digest-SHA1</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12914" data-user="12646">
<a name="12914"></a>
<h3 class="review_header">
<a href="/dist/File-Checksum">
File-Checksum</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12904" data-user="12646">
<a name="12904"></a>
<h3 class="review_header">
<a href="/dist/WordPress-XMLRPC">
WordPress-XMLRPC</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12894" data-user="12646">
<a name="12894"></a>
<h3 class="review_header">
<a href="/dist/Text-Levenshtein-Flexible">
Text-Levenshtein-Flexible</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12890" data-user="12646">
<a name="12890"></a>
<h3 class="review_header">
<a href="/dist/CPAN-Changes">
CPAN-Changes</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12888" data-user="12646">
<a name="12888"></a>
<h3 class="review_header">
<a href="/dist/Module-Changes-ADAMK">
Module-Changes-ADAMK</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12886" data-user="12646">
<a name="12886"></a>
<h3 class="review_header">
<a href="/dist/Module-Metadata-Changes">
Module-Metadata-Changes</a>
(<a href="https://metacpan.org/release/Module-Metadata-Changes/">2.11</a>)
</h3>
<blockquote class="review_text">
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.
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2016-10-09T03:16:35
(<a href="/dist/Module-Metadata-Changes#12886">permalink</a>)
</p>
<div class="helpfulq">
Was this review helpful to you?
<!-- we should add non-js links to rate stuff helpful/not helpful too... -->
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12884" data-user="12646">
<a name="12884"></a>
<h3 class="review_header">
<a href="/dist/Module-Changes">
Module-Changes</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12866" data-user="12646">
<a name="12866"></a>
<h3 class="review_header">
<a href="/dist/Archive-Tar-Wrapper">
Archive-Tar-Wrapper</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12864" data-user="12646">
<a name="12864"></a>
<h3 class="review_header">
<a href="/dist/Archive-Tar">
Archive-Tar</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12854" data-user="12646">
<a name="12854"></a>
<h3 class="review_header">
<a href="/dist/Hash-Util-Pick">
Hash-Util-Pick</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12842" data-user="12646">
<a name="12842"></a>
<h3 class="review_header">
<a href="/dist/NetObj-IPv4Address">
NetObj-IPv4Address</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12844" data-user="12646">
<a name="12844"></a>
<h3 class="review_header">
<a href="/dist/NetObj-MacAddress">
NetObj-MacAddress</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12832" data-user="12646">
<a name="12832"></a>
<h3 class="review_header">
<a href="/dist/Acme-AsciiArtinator">
Acme-AsciiArtinator</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12814" data-user="12646">
<a name="12814"></a>
<h3 class="review_header">
<a href="/dist/Object-Simple">
Object-Simple</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12796" data-user="12646">
<a name="12796"></a>
<h3 class="review_header">
<a href="/dist/Test-Needs">
Test-Needs</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12790" data-user="12646">
<a name="12790"></a>
<h3 class="review_header">
<a href="/dist/HTTP-Command-Wrapper">
HTTP-Command-Wrapper</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12782" data-user="12646">
<a name="12782"></a>
<h3 class="review_header">
<a href="/dist/File-Util">
File-Util</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12744" data-user="12646">
<a name="12744"></a>
<h3 class="review_header">
<a href="/dist/Common-Routine">
Common-Routine</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12410" data-user="12646">
<a name="12410"></a>
<h3 class="review_header">
<a href="/dist/Submodules">
Submodules</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12394" data-user="12646">
<a name="12394"></a>
<h3 class="review_header">
<a href="/dist/Regexp-Assemble">
Regexp-Assemble</a>
(<a href="https://metacpan.org/release/Regexp-Assemble/">0.36</a>)
</h3>
<blockquote class="review_text">
I guess it depends on your data, but for random shortish strings (hundreds to thousands of them), I find that using raw joining is much faster to assemble the regex. And the resulting regex is also (much) faster to match. Please see Bencher::Scenario...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2016-02-10T06:16:31
(<a href="/dist/Regexp-Assemble#12394">permalink</a>)
</p>
<div class="helpfulq">
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12384" data-user="12646">
<a name="12384"></a>
<h3 class="review_header">
<a href="/dist/Tie-Scalar-Callback">
Tie-Scalar-Callback</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12294" data-user="12646">
<a name="12294"></a>
<h3 class="review_header">
<a href="/dist/JSON-Create">
JSON-Create</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12322" data-user="12646">
<a name="12322"></a>
<h3 class="review_header">
<a href="/dist/Set-Scalar">
Set-Scalar</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12320" data-user="12646">
<a name="12320"></a>
<h3 class="review_header">
<a href="/dist/Exporter-Easy">
Exporter-Easy</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12284" data-user="12646">
<a name="12284"></a>
<h3 class="review_header">
<a href="/dist/App-cpm">
App-cpm</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12268" data-user="12646">
<a name="12268"></a>
<h3 class="review_header">
<a href="/dist/Zodiac-Chinese">
Zodiac-Chinese</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12266" data-user="12646">
<a name="12266"></a>
<h3 class="review_header">
<a href="/dist/JSON-MultiValueOrdered">
JSON-MultiValueOrdered</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12264" data-user="12646">
<a name="12264"></a>
<h3 class="review_header">
<a href="/dist/JSON-Tiny">
JSON-Tiny</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12198" data-user="12646">
<a name="12198"></a>
<h3 class="review_header">
<a href="/dist/Devel-Confess">
Devel-Confess</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12196" data-user="12646">
<a name="12196"></a>
<h3 class="review_header">
<a href="/dist/Carp-Always">
Carp-Always</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12194" data-user="12646">
<a name="12194"></a>
<h3 class="review_header">
<a href="/dist/experimental">
experimental</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12190" data-user="12646">
<a name="12190"></a>
<h3 class="review_header">
<a href="/dist/Exporter-Lite">
Exporter-Lite</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12170" data-user="12646">
<a name="12170"></a>
<h3 class="review_header">
<a href="/dist/Date-Holidays">
Date-Holidays</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12168" data-user="12646">
<a name="12168"></a>
<h3 class="review_header">
<a href="/dist/Furl">
Furl</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12124" data-user="12646">
<a name="12124"></a>
<h3 class="review_header">
<a href="/dist/Lingua-EN-Inflect">
Lingua-EN-Inflect</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12122" data-user="12646">
<a name="12122"></a>
<h3 class="review_header">
<a href="/dist/Lingua-EN-PluralToSingular">
Lingua-EN-PluralToSingular</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12110" data-user="12646">
<a name="12110"></a>
<h3 class="review_header">
<a href="/dist/Log-Declare">
Log-Declare</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12108" data-user="12646">
<a name="12108"></a>
<h3 class="review_header">
<a href="/dist/Benchmark-Timer">
Benchmark-Timer</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12106" data-user="12646">
<a name="12106"></a>
<h3 class="review_header">
<a href="/dist/Getargs-Long">
Getargs-Long</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12104" data-user="12646">
<a name="12104"></a>
<h3 class="review_header">
<a href="/dist/Debug-Easy">
Debug-Easy</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12084" data-user="12646">
<a name="12084"></a>
<h3 class="review_header">
<a href="/dist/File-Slurper">
File-Slurper</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12082" data-user="12646">
<a name="12082"></a>
<h3 class="review_header">
<a href="/dist/File-Slurp">
File-Slurp</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12080" data-user="12646">
<a name="12080"></a>
<h3 class="review_header">
<a href="/dist/File-Slurp-Tiny">
File-Slurp-Tiny</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12062" data-user="12646">
<a name="12062"></a>
<h3 class="review_header">
<a href="/dist/Perl-PrereqScanner-Lite">
Perl-PrereqScanner-Lite</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12056" data-user="12646">
<a name="12056"></a>
<h3 class="review_header">
<a href="/dist/Logfile-Rotate">
Logfile-Rotate</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="12000" data-user="12646">
<a name="12000"></a>
<h3 class="review_header">
<a href="/dist/File-ReadBackwards">
File-ReadBackwards</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11998" data-user="12646">
<a name="11998"></a>
<h3 class="review_header">
<a href="/dist/File-Bidirectional">
File-Bidirectional</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11965" data-user="12646">
<a name="11965"></a>
<h3 class="review_header">
<a href="/dist/Signal-StackTrace-CarpLike">
Signal-StackTrace-CarpLike</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11963" data-user="12646">
<a name="11963"></a>
<h3 class="review_header">
<a href="/dist/Devel-Messenger">
Devel-Messenger</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11915" data-user="12646">
<a name="11915"></a>
<h3 class="review_header">
<a href="/dist/Term-Twiddle">
Term-Twiddle</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11913" data-user="12646">
<a name="11913"></a>
<h3 class="review_header">
<a href="/dist/CHI">
CHI</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11911" data-user="12646">
<a name="11911"></a>
<h3 class="review_header">
<a href="/dist/App-YTDL">
App-YTDL</a>
devdata/perlancar view on Meta::CPAN
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11890" data-user="12646">
<a name="11890"></a>
<h3 class="review_header">
<a href="/dist/XXX">
XXX</a>
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
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
The coolest thing since PPI. Now every time someone still says that one can't parse HTML or balanced parentheses using regex, you can just point him to this module to shut him up (although, if he had said that one I<shouldn't>...).
<br><br>Also now you can say that Perl is a simple language that is easy to learn. Why? Well, it's so simple you can parse the whole syntax with a single regex.
<br><br>
=item L<DBIx::Compare>
Author: L<CJONES|https://metacpan.org/author/CJONES>
Use MySQL-specific SQL dialect "SHOW TABLES" so comparing e.g. two SQLite database is an instant fail, even though there is DBIx::Compare::SQLite. Instead of the common convention like DBIx::Compare->new(...), uses db_comparison->new(...
Rating: 4/10
=item L<Perl::Critic>
Author: L<PETDANCE|https://metacpan.org/author/PETDANCE>
Hey, Perl::Critic has not been reviewed for quite a while...
<br><br>Finally take the plunge (again) to include Perl::Critic in my development work, this time adding critic test in the Dist::Zilla release process. Already caught a couple of stupid bugs otherwise uncaught by perl's -w. Aside from that, will hel...
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
File::Find lacks the "making easy things easy" part, so modules like this are great. A further step would be an option to omit $wanted for even simpler cases, but that would probably break the interface. Another alternative is File::Finder,...
<br>
Rating: 8/10
=item L<Hash::MD5>
Author: L<MZIESCHA|https://metacpan.org/author/MZIESCHA>
Since this is essentially md5(dump($data)), why restrict yourself to hash? This works also for any kind of Perl data structure.
=item L<DateTime::Format::Docker>
Author: L<MZIESCHA|https://metacpan.org/author/MZIESCHA>
Isn't this basically ISO8601 (see DateTime::Format::ISO8601)?
=item L<WWW::CPANRatings>
Author: L<CORNELIUS|https://metacpan.org/author/CORNELIUS>
To get the ratings for a single distribution, this client library needs to download /csv/all_ratings.csv (~80KB at the time of this writing) first. This is not the fault of the client because the website indeed does not provide the necessary ratings ...
Rating: 8/10
=item L<Parse::CPAN::Ratings>
Author: L<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 basical...
<br><br>One might want to look at WWW::CPANRatings instead.
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
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>
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
A couple of prior arts:
<br><br>* all, <a href="https://metacpan.org/pod/all" rel="nofollow">metacpan.org/pod/all</a> (since 2003), nicer interface and offers "use"/compile-time interface, so it's more equivalent to the statements it wants to replace. The Submodul...
<br><br>* Module::Require, <a href="https://metacpan.org/pod/Module::Require" rel="nofollow">metacpan.org/pod/Module::Require</a> (since 2001), also nicer interface, more flexible, and more lightweight implementation.
<br><br>I don't like Submodules' interface, it's too verbose and clunky. IMO, the interface should be a one-liner and without manual looping.
=item L<Regexp::Assemble>
Author: L<RSAVAGE|https://metacpan.org/author/RSAVAGE>
I guess it depends on your data, but for random shortish strings (hundreds to thousands of them), I find that using raw joining is much faster to assemble the regex. And the resulting regex is also (much) faster to match. Please see Bencher::Scenario...
=item L<Tie::Scalar::Callback>
Author: L<DFARRELL|https://metacpan.org/author/DFARRELL>
There is a prior art Tie::Simple (created in 2004) which works for scalar as well as the other types of ties that perl supports (array, hash, handle).
<br>