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


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

Overall looks ok, with the exception that it does not look and feel like a regular Perl hash at all. Now someone just needs to create a tie interface on top of this :)
<br>


=item L<App::whatthecommit>

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

From the description: &quot;App::whatthecommit is just another lazy-to-lazy line command utility.&quot; I'd thought the definition of laziness would be something like 'alias gc=git commit --allow-empty-message'. This is more like hubris. Or whatever....
<br>


=item L<Opt::Imistic>

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

Very nifty for short scripts and some clever design inside (all options are stored as arrayref, but there is some overloading to make getting boolean/flag and normal scalar value convenient).
<br><br>For more &quot;proper&quot; scripts though (anything above say 20-30 lines) I'd recommend using something like Getopt::Long with a real spec. Some of the features I like in G::L not in Opt::Imistic: the ability to get --noOPT for free for fla...


=item L<Devel::STrace>

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

The doc looks promising, it really looks like it could be the &quot;strace for Perl functions&quot;, but the usage is awkward (you have to open two terminals, one for running your program and producing trace file, and another for reading this file). ...
<br><br>One alternative if you're looking for a similar module is Debug::LTrace.
<br><br>


=item L<Devel::TraceSubs>

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

For an alternative, try Debug::LTrace, which roughly provides the same basic feature but is more convenient to use from the command-line and give extra information like timing.
<br><br>


=item L<Devel::TraceCalls>

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

Might be powerful and flexible, but not convenient to use especially from command-line. (I was searching for something like &quot;strace for Perl function&quot;).
<br>


=item L<Debug::LTrace>

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

One of the more convenient and usable subroutine tracing modules on CPAN. If you're looking for something like &quot;strace for Perl functions&quot;, try this.
<br>


=item L<Debug::Trace>

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

Good module, but try its derivative Debug::LTrace instead. Debug::Trace doesn't fake caller() yet so traced/wrapped subroutines get caller() results that are &quot;off-by-1&quot; (see Hook::LexWrap). Plus, Debug::LTrace gives more information like ti...
<br><br>


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

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

Hash::Identity has a use case of convenience when embedding expression in double-quote strings. I fail to see the point of Tie::Hash::Identity though. Can't you just say:
<br><br>'abc' eq 'abc'; # true
<br><br>(1+2+3) eq '6'; # true
<br>


=item L<Hash::Identity>

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

At first I thought, hey, cute trick. But then Perl already has:
<br><br>print &quot;You could use expr like this: ${(2**3)}.\n&quot;;
<br><br>print &quot;Or you could use ident ${( 'a' . 'b' )} as well.\n&quot;;
<br><br>So you're trading a backslash and a couple of parentheses against having to depend on a non-core module and making your code reader raise her eyebrow when she first sees your code. Pick your poison :-)
<br><br>I wonder if this belongs in Acme::
<br><br>On the other hand and slightly off-topic, a module that can do Perl6-style interpolation (lexically) would be cool, I think:
<br><br>$s = &quot;perl${(6-1)}-style interpolation&quot;;
<br>
{
<br><br>use v6str;
<br><br>$s = &quot;perl{ 5+1 }-style interpolation&quot;;
<br>
}
<br>


=item L<Data::Structure::Util>

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

@Tom Browder: If you just need unblessing, there's also another module Acme::Damn which is more minimalist. You can also create a shallow copy to unbless a reference, if you want to do it without the help of any module (Both Acme::Damn and Data::Stru...
<br><br>Re Data::Structure::Util: nifty module that provides speedy alternative for several things like checking for circular references, weaken them, unblessing a reference, etc. You can do many of the routines in pure Perl. This module lets you do ...
<br>


=item L<Fsdb>

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




( run in 1.269 second using v1.01-cache-2.11-cpan-800906f7e73 )