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
package Acme::CPANModules::Import::CPANRatings::User::stevenharyanto;
use strict;
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__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::CPANRatings::User::stevenharyanto - List of modules mentioned by CPANRatings user stevenharyanto
=head1 VERSION
This document describes version 0.002 of Acme::CPANModules::Import::CPANRatings::User::stevenharyanto (from Perl distribution Acme-CPANModules-Import-CPANRatings-User-stevenharyanto), released on 2023-10-29.
=head1 DESCRIPTION
This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.
This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.
=head1 ACME::CPANMODULES ENTRIES
=over
=item L<Log::Any>
Author: L<PREACTION|https://metacpan.org/author/PREACTION>
(REMOVED)
=item L<Process::Status>
Author: L<RJBS|https://metacpan.org/author/RJBS>
Provides a thin/lightweight OO interface for $?, much like what Time::Piece does for localtime()/gmtime() or File::Stat for stat(). Of course, Real(TM) programmers shift and fiddle bits by themselves, but for the rest of us this module is a nice conv...
=item L<Archive::Any>
Author: L<OALDERS|https://metacpan.org/author/OALDERS>
Nice idea, but the API needs to richer to be more useful (otherwise one will still need to go to individual Archive::Tar, Archive::Zip, etc). Currently the API provided are: listing files and extracting all files. We can't: create archive, add more f...
Rating: 8/10
=item L<Devel::Confess>
Author: L<HAARG|https://metacpan.org/author/HAARG>
Very nifty, it's like Carp::Always but with much more options/features (so you don't need a separate Carp::Always::Color, Carp::Always::Dump, and so on).
=item L<SQL::Statement>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
Also look at Text::CharWidth for an alternative that can be used with text in other languages (Chinese, etc).
<br>
=item L<Text::VisualWidth::PP>
Author: L<TOKUHIROM|https://metacpan.org/author/TOKUHIROM>
Also look at Text::CharWidth for an alternative that can be used with text in other languages (Chinese, etc).
<br>
=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:
<br><br>{
<br><br>use tainting;
<br><br>... code is running in taint mode ...
<br>
}
<br><br>use tainting;
<br>
{
<br><br>no tainting;
<br><br>... code is running without taint mode ...
<br>
}
<br><br>No functions, no variables to set, no exports. Tainting of %ENV etc should be done automatically just like -T.
<br><br>EDIT: I wrote tainting and uploaded it to CPAN as proof of concept.
Rating: 8/10
=item L<L>
Author: L<SONGMU|https://metacpan.org/author/SONGMU>
Reinvents Class::Autouse (written 12 years ago). But at least L is much simpler and shorter to type (the equivalent of -ML is -MClass::Autouse=:superloader).
<br><br>BTW, there's also Module::AutoLoad, Module::AutoINC, and lib::xi which can automatically install modules from CPAN and load them upon first use.
=item L<UNIVERSAL::moniker>
Author: L<KASEI|https://metacpan.org/author/KASEI>
Perl is not Ruby != everything Ruby does is horrible. This module has its uses.
=item L<Time::Out>
Author: L<PATL|https://metacpan.org/author/PATL>
A wrapper around Perl's alarm()/$SIG{ALRM}, so it has the same limitations, e.g. you cannot use this to properly timeout external programs started by system()/backtick. For the latter, you might want to try IPC::Cmd (run() or run_forked()), or some s...
<br><br>
=item L<Util::Timeout>
Author: L<NOTBENH|https://metacpan.org/author/NOTBENH>
A wrapper around Perl's alarm()/$SIG{ALRM}, so it has the same limitations, e.g. you cannot use this to properly timeout external programs started by system()/backtick. For the latter, you might want to try IPC::Cmd (run() or run_forked()), or some s...
<br><br>
=item L<System::Timeout>
Author: L<CHENGANG|https://metacpan.org/author/CHENGANG>
This is a thin wrapper over IPC::Cmd's run(). I'd personally use run() directly, it's not much harder or longer to type. Plus, IPC::Cmd is a core module.
<br><br>
=item L<Module::Quote>
Author: L<TOBYINK|https://metacpan.org/author/TOBYINK>
Wouldn't a function like load_module("Math::Module")->new(42) be more obvious? Is there a specific goal for using custom quote operator (which requires Devel::Declare, and thus a C compiler to build)?
<br>
=item L<Module::Hash>
Author: L<TOBYINK|https://metacpan.org/author/TOBYINK>
Wouldn't a function like load_module("Math::Module")->new(42) be more obvious? Is there a specific goal for using a tied hash (since there is already %INC)?
=item L<Promises>
Author: L<YANICK|https://metacpan.org/author/YANICK>
5-star for its documentation.
<br>
=item L<Lingua::ITA::Numbers>
Author: L<PETAMEM|https://metacpan.org/author/PETAMEM>
Does the author care to explain the sudden influx of Lingua::<3-letter-code>:: modules (which look like mostly just repackaging of their corresponding Lingua::<2-letter-code>:: modules with no mention of purpose in the PODs)? The original...
<br><br>No Changes file. Versioning synchronized for all 3-letter modules with no indication of what version of the 2-letter-code module is used. For example, Lingua::ITA::Numbers' doc still says "decimals don't work properly", while Lingua...
=item L<HTTP::Headers::Patch::DontUseStorable>
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
@zaxon: I'm not sure if it's a bug with HTTP::Headers, more like a workaround for Storable. See the FAQ in the updated v0.03 for more details.
<br>
=item L<Storable>
Author: L<NWCLARK|https://metacpan.org/author/NWCLARK>
Balancing previous glowing reviews. Storable has it faults, for example historically its track record for file format backwards compatibility is poor, making programs fail when loading Storable files after the module is upgraded.
<br><br>Also, more importantly, add builtin support for Regexp object already! It's almost 2013, Regexp object has been around for, what, more than a decade? I can understand not supporting serializing filehandle or coderef, but Regexp object?
Rating: 2/10
=item L<WWW::YouTube::Download>
Author: L<OALDERS|https://metacpan.org/author/OALDERS>
( run in 1.345 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )