Result:
found more than 489 distributions - search limited to the first 2001 files matching your query ( run in 0.856 )


Acme-CPANModules-CLI-Sort

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/CLI/Sort.pm  view on Meta::CPAN

            summary => 'Sort XML "records"',
            module => 'Unicode::Tussle',
            script => 'xmlsort',
        },
        {
            summary => 'Topological sort',
            module => 'PerlPowerTools',
            script => 'tsort',
        },
        {
            summary => 'Another topological sort script',
            module => 'App::toposort',
            script => 'toposort',
        },
        {
            summary => 'Sort lines of text (Perl port of the sort Unix command)',

lib/Acme/CPANModules/CLI/Sort.pm  view on Meta::CPAN


Author: L<BDFOY|https://metacpan.org/author/BDFOY>

Script: L<xmlsort>

=item * L<PerlPowerTools> - Topological sort

Author: L<BDFOY|https://metacpan.org/author/BDFOY>

Script: L<tsort>

=item * L<App::toposort> - Another topological sort script

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

Script: L<toposort>

 view all matches for this distribution


Acme-CPANModules-CPANAuthors

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/CPANAuthors.pm  view on Meta::CPAN


our $LIST = {
    summary => 'List of Acme::CPANAUthors::* modules',
    description => <<'_',

This list tries to catalog and categorize all the existing Acme::CPANAuthors::*
modules.

## Geographical

* <pm:Acme::CPANAuthors::Australian>

lib/Acme/CPANModules/CPANAuthors.pm  view on Meta::CPAN


This document describes version 0.001 of Acme::CPANModules::CPANAuthors (from Perl distribution Acme-CPANModules-CPANAuthors), released on 2023-11-28.

=head1 DESCRIPTION

This list tries to catalog and categorize all the existing Acme::CPANAuthors::*
modules.

=head2 Geographical

=over

 view all matches for this distribution


Acme-CPANModules-CalculatingDayOfWeek

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules_ScenarioR/CalculatingDayOfWeek.pm  view on Meta::CPAN

## no critic
package Acme::CPANModules_ScenarioR::CalculatingDayOfWeek;

our $VERSION = 0.002; # VERSION

our $results = [[200,"OK",[{_name=>"participant=DateTime",_succinct_name=>"D",errors=>3.8e-08,participant=>"DateTime",pct_faster_vs_slowest=>0,pct_slower_vs_fastest=>80.570996978852,rate=>37000,samples=>24,time=>27},{_name=>"participant=Date::DayOfWe...

1;
# ABSTRACT: List of modules to calculate day of week

=head1 DESCRIPTION

 view all matches for this distribution


Acme-CPANModules-DataStructureWalker

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/DataStructureWalker.pm  view on Meta::CPAN


our $LIST = {
    summary => "List of modules that traverse your data structure",
    description => <<'_',

This list catalogs modules that let you traverse your data structure by visiting
each node/item: each element of an array, each key/value pair of a hash,
recursively. Sort of like <pm:File::Find> for your data instead of filesystem.
These modules can be used for searching or modifying your data.

Many modules in this list mimic Perl's `map` interface, for example:

lib/Acme/CPANModules/DataStructureWalker.pm  view on Meta::CPAN


This document describes version 0.003 of Acme::CPANModules::DataStructureWalker (from Perl distribution Acme-CPANModules-DataStructureWalker), released on 2023-10-29.

=head1 DESCRIPTION

This list catalogs modules that let you traverse your data structure by visiting
each node/item: each element of an array, each key/value pair of a hash,
recursively. Sort of like L<File::Find> for your data instead of filesystem.
These modules can be used for searching or modifying your data.

Many modules in this list mimic Perl's C<map> interface, for example:

 view all matches for this distribution


Acme-CPANModules-DumpingDataForDebugging

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN


our $LIST = {
    summary => 'List of modules and tips when dumping data structures for debugging',
    description => <<'_',

This list catalogs some of the modules you can you to dump your data structures
for debugging purposes, so the modules will be judged mostly by the
appropriateness of its output for human viewing (instead of other criteria like
speed, footprint, etc).

_

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN


This document describes version 0.002 of Acme::CPANModules::DumpingDataForDebugging (from Perl distribution Acme-CPANModules-DumpingDataForDebugging), released on 2023-10-29.

=head1 DESCRIPTION

This list catalogs some of the modules you can you to dump your data structures
for debugging purposes, so the modules will be judged mostly by the
appropriateness of its output for human viewing (instead of other criteria like
speed, footprint, etc).

=head1 ACME::CPANMODULES ENTRIES

 view all matches for this distribution


Acme-CPANModules-Foozilla

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Foozilla.pm  view on Meta::CPAN

but as you know Bugzilla itself is also written in Perl.

**Filezilla**

I can only find the following modules related to this popular file transfer
software: <pm:Software::Catalog::SW::filezilla>.

**That's it**

Vast world awaits for your new `*`zilla project.

lib/Acme/CPANModules/Foozilla.pm  view on Meta::CPAN

but as you know Bugzilla itself is also written in Perl.

B<Filezilla>

I can only find the following modules related to this popular file transfer
software: L<Software::Catalog::SW::filezilla>.

B<That's it>

Vast world awaits for your new C<*>zilla project.

lib/Acme/CPANModules/Foozilla.pm  view on Meta::CPAN


=item L<Wx::Mozilla>

Author: L<DSUGAL|https://metacpan.org/author/DSUGAL>

=item L<Software::Catalog::SW::filezilla>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

=back

 view all matches for this distribution


Acme-CPANModules-Frameworks

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Frameworks.pm  view on Meta::CPAN

        {module=>'ShipIt', tags=>['category:distribution-authoring']},

        # e-commerce
        {module=>'Interchange', tags=>['category:e-commerce']},

        # logging
        {module=>'Log::Any', tags=>['category:logging']},
        {module=>'Log::Contextual', tags=>['category:logging']},
        {module=>'Log::Dispatch', tags=>['category:logging']},
        {module=>'Log::ger', tags=>['category:logging']},
        {module=>'Log::Log4perl', tags=>['category:logging']},

        # numeric
        {module=>'PDL', tags=>['category:numeric']},

        # oo

 view all matches for this distribution


Acme-CPANModules-GrepVariants

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/GrepVariants.pm  view on Meta::CPAN

our $DATE = '2024-11-20'; # DATE
our $DIST = 'Acme-CPANModules-GrepVariants'; # DIST
our $VERSION = '0.013'; # VERSION

my $description = <<'_';
This list catalogs various grep-like tools.

**1. Reimplementations**

grep (from <pm:PerlPowerTools>) simply tries to reimplement grep in Perl, as
part of the project to reimplement many Unix utilities in Perl. It has few

lib/Acme/CPANModules/GrepVariants.pm  view on Meta::CPAN


This document describes version 0.013 of Acme::CPANModules::GrepVariants (from Perl distribution Acme-CPANModules-GrepVariants), released on 2024-11-20.

=head1 DESCRIPTION

This list catalogs various grep-like tools.

B<1. Reimplementations>

grep (from L<PerlPowerTools>) simply tries to reimplement grep in Perl, as
part of the project to reimplement many Unix utilities in Perl. It has few

 view all matches for this distribution


Acme-CPANModules-HTMLTable

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules_ScenarioR/HTMLTable.pm  view on Meta::CPAN

## no critic
package Acme::CPANModules_ScenarioR::HTMLTable;

our $VERSION = 0.002; # VERSION

our $results = do{my$var=[[200,"OK",[{_name=>"participant=Text::Table::Manifold",_succinct_name=>"TT:M",errors=>4.9e-05,participant=>"Text::Table::Manifold",pct_faster_vs_slowest=>0,pct_slower_vs_fastest=>6.36903376018626,rate=>15.8,samples=>21,time=...

1;
# ABSTRACT: List of modules that generate HTML tables

=head1 DESCRIPTION

 view all matches for this distribution


Acme-CPANModules-HaveWebsite

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/HaveWebsite.pm  view on Meta::CPAN

        {module=>'App::cpanminus', website_url=>'http://cpanmin.us/'},
        {module=>'App::perlbrew', website_url=>'https://perlbrew.pl/'},
        {module=>'App::TimeTracker', website_url=>'http://timetracker.plix.at/'},
        {module=>'Catalyst', website_url=>'http://www.catalystframework.org/'},
        {module=>'Dancer', website_url=>'https://perldancer.org/'},
        {module=>'Giblog', website_url=>'https://www.giblog.net/', description=>'Currently in Japanese only'},
        {module=>'Mojolicious', website_url=>'https://mojolicious.org/'},
        {module=>'MooX::Role::JSON_LD', website_url=>'https://davorg.dev/moox-role-json_ld/'},
        {module=>'Padre', website_url=>'http://padre.perlide.org/'},
        {module=>'PDL', website_url=>'https://pdl.perl.org'},
        {module=>'Perl::Critic', website_url=>'http://perlcritic.com/'},

lib/Acme/CPANModules/HaveWebsite.pm  view on Meta::CPAN


Author: L<YANICK|https://metacpan.org/author/YANICK>

Website URL: L<https://perldancer.org/>

=item L<Giblog>

Author: L<KIMOTO|https://metacpan.org/author/KIMOTO>

Currently in Japanese only


Website URL: L<https://www.giblog.net/>

=item L<Mojolicious>

Author: L<SRI|https://metacpan.org/author/SRI>

 view all matches for this distribution


Acme-CPANModules-Import-CPANRatings-User-davidgaramond

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Import/CPANRatings/User/davidgaramond.pm  view on Meta::CPAN

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-Import-CPANRatings-User-davidgaramond'; # DIST
our $VERSION = '0.002'; # VERSION

our $LIST = {description=>"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.",entries=>[{description=>"\nOk, it's not 2004 anymore, I suggest we retire or start to deprecate this module? This module now requires Perl 5....

1;
# ABSTRACT: List of modules mentioned by CPANRatings user davidgaramond

__END__

lib/Acme/CPANModules/Import/CPANRatings/User/davidgaramond.pm  view on Meta::CPAN


=item L<Data::Walk>

Author: L<GUIDO|https://metacpan.org/author/GUIDO>

Nice interface (the analogy to File::Find certainly helps) and very straightforward to use, but one thing I can't do is modify the data inplace. I spent about an of hours trying to make Data::Walk do inplace modification, but finally gave up and use ...


Rating: 8/10

=item L<Data::Transformer>

 view all matches for this distribution


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

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 &quot;befits a ::Tiny distribution&quot; just because it's a thin wrapper of something. P...

1;
# ABSTRACT: List of modules mentioned by CPANRatings user perlancar

__END__

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=item L<LWP::JSON::Tiny>

Author: L<SKINGTON|https://metacpan.org/author/SKINGTON>

I'm not sure this really &quot;befits a ::Tiny distribution&quot; 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>

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=item L<Algorithm::Dependency>

Author: L<ETHER|https://metacpan.org/author/ETHER>

Happily returns result when graph is cyclic (and thus proper topological sorting cannot be done). See also Data::Graph::Util for a simpler alternative.
<br>


Rating: 6/10

=item L<Data::Match>

Author: L<KSTEPHENS|https://metacpan.org/author/KSTEPHENS>

(Reviewing Sort::Topological, which is included in Data-Match distribution at the time of this review).
<br><br>Hangs when given a dependency like: a =&gt; [&quot;a&quot;]. Happily returns result when graph is cyclic (and thus proper topological sorting cannot be done). See also Data::Graph::Util for alternative.
<br>


Rating: 4/10

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=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>

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN

=item L<File::Util>

Author: L<TOMMY|https://metacpan.org/author/TOMMY>

Point for documentation (lots of examples and cookbook). But the recipes in the cookbook currently don't really entice me to use the module. Let's see:
<br><br>1) batch file rename: it's much simpler to use 'rename' or 'perlmv' utility. Or, it's much shorter to just use plain perl like 'for (grep {-f} &lt;*&gt;) { rename $I<< , s/.log$/.txt/r }'.
<br><br>2) recursively remove a directory tree: it's much shorter to just use 'File::Path::remove >>tree()'.
<br><br>3) increment a counter file: no locking (it's classic 1990's counter.cgi race condition all over again). Take a look at, for example, The Perl Cookbook chapter 7.11. Or I think one of Randal Schwartz's articles.
<br><br>As an alternative, one can also take a look at Path::Tiny.


lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


This module works well for string exceptions (e.g. die &quot;some message&quot;), but for ref/object exceptions (e.g. die [404,&quot;Not found&quot;] or die $some_object) it will simply print/return the ref/object and thus no stack trace information ...
<br><br>See also Devel::Confess, which can handle ref/object.
<br><br>References: 
<br>
<a href="http://blogs.perl.org/users/graham_knop/2013/09/carp-always-evenobjects.html" rel="nofollow">blogs.perl.org/users/graham_knop/2013...</a>


=item L<experimental>

Author: L<LEONT|https://metacpan.org/author/LEONT>

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN

Author: L<CHGOVUK|https://metacpan.org/author/CHGOVUK>

I haven't used or evaluated this module in detail, but if there is one advantage to using procedural/command syntax:
<br><br>info blah;
<br><br>as opposed to object syntax:
<br><br>$log-&gt;info(blah);
<br><br>then this module clearly demonstrates it. Using Devel::Declare (or the Perl 5.14+ keyword API), the former can be easily rewritten as something like:
<br><br>info &amp;&amp; blah;
<br><br>or:
<br><br>if (CONST_LOG_INFO) { info blah }
<br><br>and during compilation, Perl can optimize the line away and we get zero run-time penalty when logging (level) is disabled.
<br><br>(Actually, it's also possible for the object syntax to get rewritten, e.g. using source filter, but it's more cumbersome).


=item L<Benchmark::Timer>

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=item L<Debug::Easy>

Author: L<RKELSCH|https://metacpan.org/author/RKELSCH>

Not as easy as the name might claim. First of all, why do users need to pass B<LINE> explicitly for every call??? Other logging modules will get this information automatically via caller(). 
<br><br>Levels are a bit confusing: why is debug split to 2 (or 3)? 
<br><br>Not as flexible as it should be because the design conflates some things together. For example, most levels output to STDERR but some level (VERBOSE) outputs to STDOUT instead. The output concern and levels should've been separated. Another e...


Rating: 4/10

=item L<File::Slurper>

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=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>

 view all matches for this distribution


Acme-CPANModules-Import-CPANRatings-User-stevenharyanto

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-Import-CPANRatings-User-stevenharyanto'; # DIST
our $VERSION = '0.002'; # VERSION

our $LIST = {description=>"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.",entries=>[{description=>"\n(REMOVED)\n",module=>"Log::Any",rating=>undef},{description=>"\nProvides a thin/lightweight OO interface for \$?, ...

1;
# ABSTRACT: List of modules mentioned by CPANRatings user stevenharyanto

__END__

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

=item L<Text::Table::Tiny>

Author: L<NEILB|https://metacpan.org/author/NEILB>

Very fast, several times faster than Text::TabularDisplay or Text::Table (and many times faster than the other slower table-generator modules). It uses sprintf() to format a whole row instead of formatting each cell separately using sprintf() and joi...
<br><br>I did a comparison in: <a href="http://blogs.perl.org/users/steven_haryanto/2014/07/benchmarking-several-ascii-table-generator-modules.html" rel="nofollow">blogs.perl.org/users/steven_haryanto/...</a>


=item L<Mo>

Author: L<TINITA|https://metacpan.org/author/TINITA>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<App::Trace>

Author: L<SPADKINS|https://metacpan.org/author/SPADKINS>

The name and abstract is slightly inaccurate/misleading. This module is supposed to be a general logging framework instead of just subroutine entry/exit tracer. For alternative subroutine tracer, I'd recommend Devel::TraceSubs or Devel::TraceCalls (o...
<br><br>Not very convenient to use. It still requires you to put 'if $App::Trace' clause everytime. For general logging that can be switched on/off upon runtime, I'd recommend using Log::Any instead.
<br><br>Lastly, this module is tied to App::Options and thus only really usable if you use both.


=item L<Tie::Hash::Identity>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


Author: L<JOHNH|https://metacpan.org/author/JOHNH>

An interesting tool that has been developed since 1991 (which is roughly around the time the WWW and Linux was born, whew). Kudos to the author for the dedication and consistency.
<br><br>Since nowadays SQL is pretty much ubiquitous, users might also want to check out an alternative tool, App::fsql. For example (taking a similar example from the module's doc), to select entries in /etc/passwd where UID is between 1000 and 2000...
<br><br>$ ( echo -e &quot;login\tpassword\tuid\tgid\tgecos\thome\tshell&quot;; sed 's/:/\t/g' /etc/passwd ) | fsql --add-tsv - 'SELECT * FROM stdin WHERE uid &gt;= 1000 AND uid &lt;= 2000' --format text --aoh


=item L<Date::Tie>

Author: L<FGLOCK|https://metacpan.org/author/FGLOCK>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Taint::Runtime>

Author: L<RHANDOM|https://metacpan.org/author/RHANDOM>

Nice idea. Perl should really have included something like this (analogous to warnings.pm for -w).
<br><br>However, for something as security-related as tainting, I personally think the interface is a bit too complex and not robust enough. There are too many pitfalls where one can fail to turn on tainting properly.
<br><br>* First, user must remember to import $TAINT, or doing '$TAINT = 1' has no effect. There's no error/warning for this mistake.
<br><br>* Then, if one also forgets to import taint_start or taint_start, then doing 'taint_start' or 'taint_env' (without parentheses) will do nothing. Also does not produce an error/warning except under strict mode.
<br><br>* One must remember to 'taint_env' I<after> 'taint_start'. There's no warning/error if one does the opposite.
<br><br>I'd rather have something like this:

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<LWP::Protocol::Net::Curl>

Author: L<SYP|https://metacpan.org/author/SYP>

Shows great promise. I personally need this for HTTPS proxy support. After testing, the module still doesn't work to login to my internet banking sites. But I'll still check in from time to time.
<br>


=item L<Devel::SizeMe>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Log::AutoDump>

Author: L<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-&gt;debugf(&quot;%s&quot;, $complex), $log-&gt;warnf(), and friends), while still allowing you to use Log4perl and other frameworks supported by Log::Any.
<br><br>


=item L<List::Pairwise>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

=item L<Mail::Sendmail>

Author: L<NEILB|https://metacpan.org/author/NEILB>

I used Mail::Sendmail and a few others &quot;older&quot; modules back from the days when it didn't support setting envelope sender different from RFC From, and when the test hung on some dead host.
<br><br>If it's still working for you, great. I personally have moved on to other modules like Email::Sender::Simple, which abstracts sending mechanism (transport) and support SMTP auth, for two. Also, many of the guide/documentation for Mail::Sendma...


Rating: 6/10

=item L<autodie>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Log::Log4perl>

Author: L<ETJ|https://metacpan.org/author/ETJ>

It's a very mature and an excellent logging framework. However, some of the common minor complaints are: 1) It's too complex. I agree: it should not be this hard to get started. 2) Configuration is too verbose. Agreed: but well, what can you do, most...
<br><br>One of the main strengths of Log4perl is its sublogger/subcategory feature, which few other frameworks seem to have.
<br><br>For other alternatives, also take a look at: Log::Handler, Log::Any. And of course Log::Message too.
<br>


=item L<Log::Handler>

Author: L<BLOONIX|https://metacpan.org/author/BLOONIX>

This review mostly compares Log::Handler with Log4perl, which is a mature and one of the most popular logging frameworks.
<br><br>I think Log::Handler's interface is much simpler, nicer, more Perlish than Log4perl. It's a bit similar to Log::Any::App, which I created just because I hate Log4perl configuration.
<br><br>There is a unique concept of maxlevel not normally found in other frameworks, though it can be emulated in other frameworks using filters.
<br><br>At a quick glance, the speed is around twice that of Log::Log4perl, so I'll say it's on the low-end side (there are other much faster logging modules, but anyway speed is not an issue to most people).
<br><br>It currently lacks sublogger (hierarchical categorization and adjustable/automatic appending of subcategory to its parent), so it cannot be used to replace Log4perl in most cases as that's one of the main feature of Log4perl. Which is a pity ...


Rating: 8/10

=item L<Log::Fast>

Author: L<POWERMAN|https://metacpan.org/author/POWERMAN>

This logging framework is also minimalistic: no categories/hierarchiecal loggers, no custom levels, no config file, or other whistles and bells. And the interface &amp; default levels are rather syslog-oriented. But it's fast alright. The POD doesn't...
<br><br>So this module will certainly come handy if you have a performance critical application.
<br><br>Btw, note that the benchmarks are done for actual logging to output. For log statements that do not actually get logged (e.g. because the level is below the desired output level), I don't find that extreme  differences in overhead between log...


=item L<Log::Minimal>

Author: L<KAZEBURO|https://metacpan.org/author/KAZEBURO>

Log::Minimal's slogan is &quot;minimal but customizable&quot;. It's minimal alright, probably only suitable for simple scripts as the moment you organize your application/library into separate modules, you'll want/need categories instead of just leve...
<br><br>Also, only formats is customizable, there is currently no way to customize level. And the levels are &quot;not standard&quot; (not that there is an official authoritative standard, but the popular convention is TRACE/DEBUG/INFO/WARN/ERROR/FAT...
<br>
DEBUG/INFO/WARN/CRITICAL and NONE). Surely most people would expect another level between WARN and CRITICAL, for non-critical errors? But that is actually just a matter of taste.
<br>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Log::Fine>

Author: L<CFUHRMAN|https://metacpan.org/author/CFUHRMAN>

Log::Fine is touted as a framework for those who &quot;need a fine-grained logging mechanism in their program(s)&quot;. But apart from the emphasis on custom levels, to me there is nothing extra fine-grained about it. The other thing it provides is c...
<br><br>Btw regarding custom levels, this practice is long deprecated by log4j (and thus also by Log4perl, although Log4perl can do custom levels). I can understand this decision as I sometimes already have trouble managing the popular convention of ...


Rating: 6/10

=item L<Config::IniFiles>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

=item L<String::ShellQuote>

Author: L<ROSCH|https://metacpan.org/author/ROSCH>

I admit it. Ever since I know about escapeshellarg() and escapeshellcmd() in PHP, I've been reimplementing this function in Perl  literally a million of times (mostly because of laziness and because it only takes a couple of lines in Perl). Only a fe...
<br><br>The only problem for this module is lack of visibility. Before I've never read articles or blog posts mentioning this module, ever. Yes, we have system() that can bypass the shell, but qx() can't. So yes, this module needs to be marketed more...
<br>


=item L<Capture::Tiny>

 view all matches for this distribution


Acme-CPANModules-InterestingTies

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/InterestingTies.pm  view on Meta::CPAN


The perl's tie interface allows you to create "magical" scalar, array, hash, or
filehandle. When you read or set the value of these variables, various things
can be triggered.

This <pm:Acme::CPANModules> list catalogs some of the interesting uses of the
tie() interface.

MARKDOWN
    entries => [

lib/Acme/CPANModules/InterestingTies.pm  view on Meta::CPAN


The perl's tie interface allows you to create "magical" scalar, array, hash, or
filehandle. When you read or set the value of these variables, various things
can be triggered.

This L<Acme::CPANModules> list catalogs some of the interesting uses of the
tie() interface.

=head1 ACME::CPANMODULES ENTRIES

=over

 view all matches for this distribution


Acme-CPANModules-JSONVariants

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/JSONVariants.pm  view on Meta::CPAN

variants of JSON.

An overwhelmingly popular extension is comments, because JSON is used a lot in
configuration. Another popular extension is dangling (trailing) comma.

This list catalogs the various JSON variants which have a Perl implementation on
CPAN.


1) **JSON5**. <https://json5.org/>, "JSON for Humans". Allowing more
whitespaces, single-line comment (C++-style), multiline comment (C-style),

lib/Acme/CPANModules/JSONVariants.pm  view on Meta::CPAN

variants of JSON.

An overwhelmingly popular extension is comments, because JSON is used a lot in
configuration. Another popular extension is dangling (trailing) comma.

This list catalogs the various JSON variants which have a Perl implementation on
CPAN.

1) B<JSON5>. L<https://json5.org/>, "JSON for Humans". Allowing more
whitespaces, single-line comment (C++-style), multiline comment (C-style),
single quote for strings, hexadecimal number literal (e.g. 0x123abc), leading

 view all matches for this distribution


Acme-CPANModules-KitchenSinks

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/KitchenSinks.pm  view on Meta::CPAN

"general utilities" library that grows and grows to the point of "it should
probably be refactored into multiple modules (but isn't yet)". Often it also
contains functionalities that are already present in other modules, but added
into the module anyway because it is convenient for the developer.

This list catalogs modules that I think are kitchen sink libraries.

_
    entries => [
        {module=>'Data::Table::Text'},
    ],

lib/Acme/CPANModules/KitchenSinks.pm  view on Meta::CPAN

"general utilities" library that grows and grows to the point of "it should
probably be refactored into multiple modules (but isn't yet)". Often it also
contains functionalities that are already present in other modules, but added
into the module anyway because it is convenient for the developer.

This list catalogs modules that I think are kitchen sink libraries.

=head1 ACME::CPANMODULES ENTRIES

=over

 view all matches for this distribution


Acme-CPANModules-LoadingModules

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/LoadingModules.pm  view on Meta::CPAN

<pm:lib::require::all> loads all modules in a directory.


**Logging module loading**

<pm:Require::HookChain::log::logger>

<pm:Require::HookChain::log::stderr>


**Preventing loading certain modules**

<pm:lib::filter>, <pm:lib::disallow>

lib/Acme/CPANModules/LoadingModules.pm  view on Meta::CPAN


L<lib::require::all> loads all modules in a directory.

B<Logging module loading>

L<Require::HookChain::log::logger>

L<Require::HookChain::log::stderr>

B<Preventing loading certain modules>

L<lib::filter>, L<lib::disallow>

lib/Acme/CPANModules/LoadingModules.pm  view on Meta::CPAN


=item L<lib::require::all>

Author: L<MIYAGAWA|https://metacpan.org/author/MIYAGAWA>

=item L<Require::HookChain::log::logger>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

=item L<Require::HookChain::log::stderr>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

=item L<lib::filter>

 view all matches for this distribution


Acme-CPANModules-ManagingMultipleRepositories

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/ManagingMultipleRepositories.pm  view on Meta::CPAN


use strict;
use Acme::CPANModulesUtil::Misc;

my $text = <<'_';
This Acme::CPANModules list catalogs tools to manage multiple repositories.

Keywords: git, vcs, cvs

**1. On CPAN**

lib/Acme/CPANModules/ManagingMultipleRepositories.pm  view on Meta::CPAN


This document describes version 0.002 of Acme::CPANModules::ManagingMultipleRepositories (from Perl distribution Acme-CPANModules-ManagingMultipleRepositories), released on 2023-10-29.

=head1 DESCRIPTION

This Acme::CPANModules list catalogs tools to manage multiple repositories.

Keywords: git, vcs, cvs

B<1. On CPAN>

 view all matches for this distribution


Acme-CPANModules-ModernPreambles

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/ModernPreambles.pm  view on Meta::CPAN

    use warnings;
    use feature ':5.26';
    mro::set_mro( scalar caller(), 'c3' );

I think <pm:Modern::Perl> is one of the first to popularize this modern preamble
concept and a bunch of similar preambles emerged. This list catalogs them.

Meanwhile, you can also use:

    use v5.12; # enables strict and warnings, as well as all 5.12 features (see <pm:feature> for more details on new features of each perl release)

lib/Acme/CPANModules/ModernPreambles.pm  view on Meta::CPAN

 use warnings;
 use feature ':5.26';
 mro::set_mro( scalar caller(), 'c3' );

I think L<Modern::Perl> is one of the first to popularize this modern preamble
concept and a bunch of similar preambles emerged. This list catalogs them.

Meanwhile, you can also use:

 use v5.12; # enables strict and warnings, as well as all 5.12 features (see L<feature> for more details on new features of each perl release)

 view all matches for this distribution


Acme-CPANModules-NewDistributions-202001

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/NewDistributions/202001.pm  view on Meta::CPAN

                     summary     => "Distribution for unicode-block script.",
                   },
                   {
                     description => "Distribution App-geoip first released by HMBRAND at 2020-01-16T13:50:05Z.",
                     module      => "App::geoip",
                     summary     => "Show geological data based on hostname or IP address(es)",
                   },
                   {
                     description => "Distribution App-lcpan-CmdBundle-similar_authors first released by PERLANCAR at 2020-01-11T00:05:10Z.",
                     module      => "App::lcpan::CmdBundle::similar_authors",
                     summary     => "More lcpan subcommands related to finding similar authors",

lib/Acme/CPANModules/NewDistributions/202001.pm  view on Meta::CPAN

                     description => "Distribution Net-SockAddr first released by SYBER at 2020-01-22T16:15:12Z.",
                     module      => "Net::SockAddr",
                     summary     => "Socket address OO-wrapper with Perl and C++ interface.",
                   },
                   {
                     description => "Distribution Net-SyslogNg first released by VRAG at 2020-01-10T09:59:11Z.",
                     module      => "Net::SyslogNg",
                     summary     => "client module for writing to syslog server (rfc5424)",
                   },
                   {
                     description => "Distribution Object-Adhoc first released by TOBYINK at 2020-01-24T17:12:36Z.",
                     module      => "Object::Adhoc",
                     summary     => "make objects without the hassle of defining a class first",

lib/Acme/CPANModules/NewDistributions/202001.pm  view on Meta::CPAN

=item * L<App::Unicode::Block> - Distribution for unicode-block script.

Distribution App-Unicode-Block first released by SKIM at 2020-01-19T16:51:51Z.


=item * L<App::geoip> - Show geological data based on hostname or IP address(es)

Distribution App-geoip first released by HMBRAND at 2020-01-16T13:50:05Z.


=item * L<App::lcpan::CmdBundle::similar_authors> - More lcpan subcommands related to finding similar authors

lib/Acme/CPANModules/NewDistributions/202001.pm  view on Meta::CPAN

=item * L<Net::SockAddr> - Socket address OO-wrapper with Perl and C++ interface.

Distribution Net-SockAddr first released by SYBER at 2020-01-22T16:15:12Z.


=item * L<Net::SyslogNg> - client module for writing to syslog server (rfc5424)

Distribution Net-SyslogNg first released by VRAG at 2020-01-10T09:59:11Z.


=item * L<Object::Adhoc> - make objects without the hassle of defining a class first

Distribution Object-Adhoc first released by TOBYINK at 2020-01-24T17:12:36Z.

 view all matches for this distribution


Acme-CPANModules-NonMooseStyleClassBuilder

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/NonMooseStyleClassBuilder.pm  view on Meta::CPAN


our $LIST = {
    summary => 'List of non-Moose-style class builders',
    description => <<'_',

This list catalogs class builders with interface that is different than the
Moose family.

See also a whole host of Class::Accessor::* modules.

_

lib/Acme/CPANModules/NonMooseStyleClassBuilder.pm  view on Meta::CPAN


This document describes version 0.002 of Acme::CPANModules::NonMooseStyleClassBuilder (from Perl distribution Acme-CPANModules-NonMooseStyleClassBuilder), released on 2023-10-29.

=head1 DESCRIPTION

This list catalogs class builders with interface that is different than the
Moose family.

See also a whole host of Class::Accessor::* modules.

=head1 ACME::CPANMODULES ENTRIES

 view all matches for this distribution


Acme-CPANModules-OneAndTwoDecimalDigitsVersionTrap

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/OneAndTwoDecimalDigitsVersionTrap.pm  view on Meta::CPAN

Author's comment in ChangeLog: "This version number is broken because 0.46 >
0.46.1 because 0.46 normalizes to 0.460.000 while 0.46.1 is 0.046.100. This has
happened a few times to me in other distributions too, so perhaps it's time to
consider switching to a 3-digit minor version."

Author's blog post:
<https://perlancar.wordpress.com/2018/09/10/should-i-choose-x-yy-or-x-yyy-versioning-scheme-for-my-perl-module/>
(2016-09-10).

_
        },

lib/Acme/CPANModules/OneAndTwoDecimalDigitsVersionTrap.pm  view on Meta::CPAN

            author=>"DAVECROSS",
            description=><<'_',

Author's comment in ChangeLog: "Fixing the idiocy in the previous version."

Author's blog post: <https://perlhacks.com/2016/12/version-numbers/>
(2016-12-13).

_
        },

lib/Acme/CPANModules/OneAndTwoDecimalDigitsVersionTrap.pm  view on Meta::CPAN

Author's comment in ChangeLog: "This version number is broken because 0.46 >
0.46.1 because 0.46 normalizes to 0.460.000 while 0.46.1 is 0.046.100. This has
happened a few times to me in other distributions too, so perhaps it's time to
consider switching to a 3-digit minor version."

Author's blog post:
L<https://perlancar.wordpress.com/2018/09/10/should-i-choose-x-yy-or-x-yyy-versioning-scheme-for-my-perl-module/>
(2016-09-10).


=item L<Array::Compare>

lib/Acme/CPANModules/OneAndTwoDecimalDigitsVersionTrap.pm  view on Meta::CPAN


Author: L<DAVECROSS|https://metacpan.org/author/DAVECROSS>

Author's comment in ChangeLog: "Fixing the idiocy in the previous version."

Author's blog post: L<https://perlhacks.com/2016/12/version-numbers/>
(2016-12-13).


=item L<Acme::CPANLists>

 view all matches for this distribution


Acme-CPANModules-OneLinerTools

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/OneLinerTools.pm  view on Meta::CPAN


our $LIST = {
    summary => 'List of modules to make your life easier when writing perl one-liners',
    description => <<'MARKDOWN',

This list also tries to catalog modules that are meant to be primarily used in
one-liners.

MARKDOWN
    entries => [

lib/Acme/CPANModules/OneLinerTools.pm  view on Meta::CPAN


        {
            module => 'Log::ger::App',
            description => <<'MARKDOWN',

A convenient way to display (consume) logs if your application uses
<pm:Log::ger> to produce logs.

MARKDOWN
            tags => ['logging'],
        },

        {
            module => 'DD::Dummy',
            description => <<'MARKDOWN',

lib/Acme/CPANModules/OneLinerTools.pm  view on Meta::CPAN


This document describes version 0.005 of Acme::CPANModules::OneLinerTools (from Perl distribution Acme-CPANModules-OneLinerTools), released on 2024-06-21.

=head1 DESCRIPTION

This list also tries to catalog modules that are meant to be primarily used in
one-liners.

=head1 ACME::CPANMODULES ENTRIES

=over

lib/Acme/CPANModules/OneLinerTools.pm  view on Meta::CPAN


=item L<Log::ger::App>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

A convenient way to display (consume) logs if your application uses
L<Log::ger> to produce logs.


=item L<DD::Dummy>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

 view all matches for this distribution


Acme-CPANModules-OrderedHash

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules_ScenarioR/OrderedHash.pm  view on Meta::CPAN

## no critic
package Acme::CPANModules_ScenarioR::OrderedHash;

our $VERSION = 0.004; # VERSION

our $results = do{my$var=[[200,"OK",[{_name=>"participant=Tie::StoredOrderHash",_succinct_name=>"T:S",errors=>1.4e-06,participant=>"Tie::StoredOrderHash",pct_faster_vs_slowest=>0,pct_slower_vs_fastest=>5.16666666666667,rate=>539,samples=>22,time=>1.8...

1;
# ABSTRACT: List of modules that provide ordered hash data type

=head1 DESCRIPTION

 view all matches for this distribution


Acme-CPANModules-OrderingAndRunningTasks

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/OrderingAndRunningTasks.pm  view on Meta::CPAN


This list reviews what tools are available on CPAN and in general to order
multiple tasks (with possible interdependency) and running them (possibly in
parallel).

To specify dependency, you can use a graph then do a topological sort on it.
This will make sure that a task that depends on another is executed after the
latter. This will also check circular dependencies: if there is a circular
dependency, the graph becomes cyclical and will fail to sort topologically.
There are several modules to do topological sorting, among them: <pm:Graph>,
<pm:Data::Graph::Util>, <pm:Sort::Topological>. There's also
<pm:Algorithm::Dependency>.

To run tasks in parallel, you can also represent the tasks and dependencies
among them using a graph, then separate the connected subgraphs. The subgraphs
do not connect to one another and thus you can run the tasks in a subgraph in

lib/Acme/CPANModules/OrderingAndRunningTasks.pm  view on Meta::CPAN


This list reviews what tools are available on CPAN and in general to order
multiple tasks (with possible interdependency) and running them (possibly in
parallel).

To specify dependency, you can use a graph then do a topological sort on it.
This will make sure that a task that depends on another is executed after the
latter. This will also check circular dependencies: if there is a circular
dependency, the graph becomes cyclical and will fail to sort topologically.
There are several modules to do topological sorting, among them: L<Graph>,
L<Data::Graph::Util>, L<Sort::Topological>. There's also
L<Algorithm::Dependency>.

To run tasks in parallel, you can also represent the tasks and dependencies
among them using a graph, then separate the connected subgraphs. The subgraphs
do not connect to one another and thus you can run the tasks in a subgraph in

 view all matches for this distribution


Acme-CPANModules-OrganizingCPAN

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/OrganizingCPAN.pm  view on Meta::CPAN


use strict;
use Acme::CPANModulesUtil::Misc;

my $text = <<'_';
This list catalog efforts to organize CPAN and help users navigate the sea of
modules on CPAN.

**Bundles and Tasks**

A `Bundle::*` module lists several modules that will all get installed simply by

lib/Acme/CPANModules/OrganizingCPAN.pm  view on Meta::CPAN


This document describes version 0.002 of Acme::CPANModules::OrganizingCPAN (from Perl distribution Acme-CPANModules-OrganizingCPAN), released on 2023-10-29.

=head1 DESCRIPTION

This list catalog efforts to organize CPAN and help users navigate the sea of
modules on CPAN.

B<Bundles and Tasks>

A C<Bundle::*> module lists several modules that will all get installed simply by

 view all matches for this distribution


Acme-CPANModules-PortedFrom-Ruby

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/PortedFrom/Ruby.pm  view on Meta::CPAN

            ruby_package => 'rails',
            ruby_website_url => 'https://rubyonrails.org/',
        },
        {
            module => 'Dotenv',
            summary => 'Although the 12-factor methodology is not tied to a single language, the original implementation is in Ruby',
            #tags => ['framework'],
            ruby_package => 'dotenv',
            ruby_website_url => 'https://github.com/heroku/12factor',
        },
    ],

lib/Acme/CPANModules/PortedFrom/Ruby.pm  view on Meta::CPAN


Ruby project's website: L<https://rubyonrails.org/>

=item L<Dotenv>

Although the 12-factor methodology is not tied to a single language, the original implementation is in Ruby.

Author: L<BOOK|https://metacpan.org/author/BOOK>

Ruby project's gem: L<https://rubygems.org/gems/dotenv>

 view all matches for this distribution


Acme-CPANModules-RenamingFiles

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/RenamingFiles.pm  view on Meta::CPAN


our $LIST = {
    summary => 'List of Perl modules (and scripts) to rename multiple files',
    description => <<'_',

This list will attempt to catalog Perl modules (and scripts) that can be used to
rename multiple files, often by letting you transform the filename using Perl
code or regex.

The granddaddy of all this is of course Larry's own script <prog:rename>, which
appeared as a dozen-line simple example at least as early as 1989 in `eg/`

lib/Acme/CPANModules/RenamingFiles.pm  view on Meta::CPAN

<prog:perlmv-u> from <pm:App::perlmv> (since 2017) is my other take. The main
feature is undo. It does not yet has nearly as many features as its older
brother `perlmv`.

<prog:pmv> from <pm:File::PerlMove> (since 2007) by Johan Vromans of
`Getopt::Long` fame. Like `File::Rename`, it also refactors the logic into
module. It also added a DWIM for specific Perl expression like `uc`, `lc` when
dealing with case-insensitive filesystems.

<pm:App::FileRenameUtils>, a collection of mass renaming utilities.

lib/Acme/CPANModules/RenamingFiles.pm  view on Meta::CPAN


This document describes version 0.001 of Acme::CPANModules::RenamingFiles (from Perl distribution Acme-CPANModules-RenamingFiles), released on 2022-11-14.

=head1 DESCRIPTION

This list will attempt to catalog Perl modules (and scripts) that can be used to
rename multiple files, often by letting you transform the filename using Perl
code or regex.

The granddaddy of all this is of course Larry's own script L<rename>, which
appeared as a dozen-line simple example at least as early as 1989 in C<eg/>

lib/Acme/CPANModules/RenamingFiles.pm  view on Meta::CPAN

L<perlmv-u> from L<App::perlmv> (since 2017) is my other take. The main
feature is undo. It does not yet has nearly as many features as its older
brother C<perlmv>.

L<pmv> from L<File::PerlMove> (since 2007) by Johan Vromans of
C<Getopt::Long> fame. Like C<File::Rename>, it also refactors the logic into
module. It also added a DWIM for specific Perl expression like C<uc>, C<lc> when
dealing with case-insensitive filesystems.

L<App::FileRenameUtils>, a collection of mass renaming utilities.

 view all matches for this distribution


Acme-CPANModules-RequireHooks

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/RequireHooks.pm  view on Meta::CPAN


our $LIST = {
    summary => 'List of modules that utilize require() hook',
    description => <<'_',

This list tries to catalog all modules that utilize or provide `require()`
hook(s) to do various things.


**Blocking/filtering module loading**

lib/Acme/CPANModules/RequireHooks.pm  view on Meta::CPAN

<pm:Require::HookChain>


**Logging**

<pm:Require::HookChain::log::stderr>

<pm:Require::HookChain::log::logger>


**Munging loaded source code**

<pm:Require::Hook::More>

lib/Acme/CPANModules/RequireHooks.pm  view on Meta::CPAN


This document describes version 0.001 of Acme::CPANModules::RequireHooks (from Perl distribution Acme-CPANModules-RequireHooks), released on 2023-02-08.

=head1 DESCRIPTION

This list tries to catalog all modules that utilize or provide C<require()>
hook(s) to do various things.

B<Blocking/filtering module loading>

L<Require::Hook::Noop>

lib/Acme/CPANModules/RequireHooks.pm  view on Meta::CPAN


L<Require::HookChain>

B<Logging>

L<Require::HookChain::log::stderr>

L<Require::HookChain::log::logger>

B<Munging loaded source code>

L<Require::Hook::More>

lib/Acme/CPANModules/RequireHooks.pm  view on Meta::CPAN


=item L<Require::HookChain>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

=item L<Require::HookChain::log::stderr>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

=item L<Require::HookChain::log::logger>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

=item L<Require::Hook::More>

 view all matches for this distribution


Acme-CPANModules-TextTable

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules_ScenarioR/TextTable.pm  view on Meta::CPAN

## no critic
package Acme::CPANModules_ScenarioR::TextTable;

our $VERSION = 0.016; # VERSION

our $results = do{my$var=[[200,"OK",[{_name=>"participant=Text::UnicodeBox::Table",_succinct_name=>"Text::UnicodeBox::Table",errors=>0.0024,participant=>"Text::UnicodeBox::Table",pct_faster_vs_slowest=>0,pct_slower_vs_fastest=>365.666666666667,rate=>...

1;
# ABSTRACT: List of modules that generate text tables

=head1 DESCRIPTION

 view all matches for this distribution


( run in 0.856 second using v1.01-cache-2.11-cpan-a5abf4f5562 )