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

<br><br>for ($foo) { say $_ if defined }
<br><br>for (grep {defined} $foo) { say $_ }
<br><br>do { say $_ if defined } for $foo
<br><br>say $_ for grep {defined} $foo
<br><br>And save yourself from having to remember whether we should add a comma or not before &quot;wherever&quot;.
<br>


=item L<TOBYINK::PerlX::A>

I have nothing against bundles like this, but beware that adding 'use TOBYINK::PerlX::A' will cause Perl to load 460 files and compile +- 160k lines (takes 1s on my Core i5 machine and 8s on my Atom netbook).


=item L<WWW::Google::Images>

Just adding a note that this module is unmaintained (as expressed by the author) and has stopped working for some time. If you are looking for alternatives, try REST::Google (which includes REST::Google::Search::Images). The latter has been working O...


=item L<Acme::Damn>

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

5 stars for cute metaphor (there's also Acme::Holy by the same author, but that is just another implementation of Scalar::Util's blessed()) and for prompt support from the author.
<br><br>I'm sure there exists a real use case to move this out of Acme::, however obscure that might be. Can't come up with any right now, all I can think of is reblessing, which can be handled with bless() from the start.
<br><br>UPDATE 2013-09-11: I found a real use-case for it! Cleaning up data to be sent to JSON. BTW, Data::Structure::Util also has an unbless() function, but Acme::Damn is smaller and faster. Data::Structure::Util also currently doesn't build on Win...
<br>


=item L<WWW::Parallels::Agent>

@Justin Case: The name is unfortunate, but it's already proper (WWW:: followed by website or company name). HTTP client libraries are in LWP::. But VM:: is also an apt choice.
<br>


=item L<Underscore>

I don't know why Sawyer X's review is marked as unhelpful (2 out of 8), but I agree with him. This is I<not> an Acme module, it's a port of a JavaScript library of the same name.
<br>


=item L<Locale::Geocode>

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

Sorry to have to rate with 1 star. I don't have problem with the interface/documentation. The 1-star rating is just to warn people that the data used by this module is not up to date. And that YEARS-old bugs are not being fixed.
<br><br>At the time of this writing, this module still uses ISO 3166-2:1998 (first edition) + the newsletters (minor updates) up to 2006. When it should be updated to ISO 3166-2:2007 (second edition) + all the newsletters. For example, this module do...
<br><br>Sadly we live in a world where countries and subcountries change all the time.


Rating: 2/10

=item L<Locale::SubCountry>

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

UPDATE 2012-08-30: I am not sure if the module is now fully compliant to the new ISO 2007, but bug reports are certainly being responded and resolved now. Updating rating from 1-star to 4-star. Thanks, Kim.
<br><br>2012-02-17: Review to version 1.47:
<br><br>Sorry to have to rate with 1 star. I don't have problem with the interface/documentation. The 1-star rating is just to warn people that the data used by this module is not up to date. And that months-old bugs are not being fixed.
<br><br>At the time of this writing, this module still uses ISO 3166-2:1998 (first edition) when it should be updated to ISO 3166-2:2007 (second edition) + all the newsletters (minor updates). For example, this module does not report 3 newer province...
<br><br>Sadly we live in a world where countries and subcountries change all the time.
<br><br>EDIT: Ok, so I was not being clear that I was not talking about my own bug report (posted at about the same time of this review). And bugs were certainly being resolved up to about 7 months ago.
<br>


Rating: 8/10

=item L<Data::Rmap>

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

A very handy utility, sort of like s/// on your nested data structure instead of just strings. One nitpick: no coderef support. I needed to replace all coderefs inside a data structure into a string, since I want to pass it to JSON encoder. None of t...
<br><br>UPDATE 2011-12-30: The author (Brad) quickly responded to my RT ticket and added rmap_code. Upgrading from 4- to 5-star :) Regexp support is not there yet though, and I have suggested the ability to get all kinds of Perl-specific and weird ob...
<br>


=item L<Data::Properties::JSON>

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

The abstract for this module is a bit strange. What does this have to do with 'test fixtures'? Also the documentation doesn't say much, e.g. What will happen if a hash key contains funny characters (or arrays, etc)?
<br><br>A similar module in spirit is Data::Hive. I think &quot;providing convenient chained method access to hierarchical data&quot; should be refactored out. So perhaps Data::Properties::{JSON,YAML,...} should just be a convenient shortcut for {JSO...


=item L<Exporter::Auto>

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

I discourage module authors from exporting like this because it's simply too impolite/intrusive for module users. If the module author is lazy, there is already Exporter::NoWork which offers a few options for module users. This module, on the other h...
<br><br>Let me remind all again by quoting from Exporter's POD: &quot;Do I<not> export anything else by default without a good reason! Exports pollute the namespace of the module user.&quot;


=item L<Net::Douban>

Interface to web services should be put under WWW::I<, not Net::>


=item L<HTML::Form::XSS>

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

Should probably be put under Test::*?


=item L<Thread::IID>

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

When I saw the perlmonks thread yesterday, I thought &quot;well, someone should package it and put it on CPAN&quot;. And then someone did :) Thanks.
<br>


=item L<Test::Lite>

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

This is just a reimplementation of Test::More. But I thank the author for writing a short description of why this module is written, how it is different from others, and suggestion of what modules users should use. There are a lot of wheels being rei...


=item L<Sub::Mage>

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

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

<br><br>But then things change. DateTime project was started, and now it is somewhat the de facto standard. It's more modern and far more modular than the monolithic Date::Manip (every timezone and language support and parsing/formatting modules ship...
<br><br>And then there's the 5.x -&gt; 6.x debacle. As someone who also sprinkle Perl 5.10 requirements to his CPAN modules, I can feel for the author. But the difference is, most of my modules are not that widely used/known, and also many start its ...
<br><br>All in all, you are free to use or not use Date::Manip. There are other alternatives. Pick wisely.
<br>


Rating: 6/10

=item L<App::pmuninstall>

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

One would wonder why CPAN clients still don't have this crucial feature Though you see Miyagawa listed in the Credits so maybe cpanminus or its sister will end up having this functionality? One can only hope. At 0.06, some things are not working flaw...
<br><br>


=item L<App::lntree>

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

I guess this app is still useful, since &quot;cp -sR&quot; still doesn't work as many would expect, and there are Windows users out there (yes, newer NTFS does support symlinks; though I don't know whether this module supports creating symlinks on NT...
<br><br>A minor comment would be on the name, maybe lnstree can be considered instead (since &quot;ln&quot; indicates hardlink, at least for me). Btw, there's also a free software called &quot;lns&quot; to do the exact same thing.
<br><br>


=item L<Data::Clone>

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

I've never encountered difficulty in cloning data structures in Perl, usually I just use Clone or sometimes Storable's freeze + thaw (the later does not yet support cloning Regexp objects out of the box).
<br><br>However, I like Data::Clone for its speed! It's several times faster than Clone or freeze+thaw. So hats up. Planning to use Data::Clone in future projects.
<br><br>Now if we can convince Goro to write a fast serializer/deserializer with compact output (essentially, a faster version of Storable), that would be even nicer :-)
<br><br>


=item L<Data::Pond>

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

With due respect to the author, I fail to see the practical point of Pond. Pond (Perl-based open notation for data) is the Perl counterpart of JSON, except that implementation is currently only available in Perl (CMIIW), and &quot;Pond represents few...
<br><br>Pond is pitched against Data::Dumper + eval, which is dangerous, but Data::Dumper + eval is by far not the only method available for serialization. Perl can do Storable, JSON, YAML, even PHP serialization format.
<br><br>The documentation does not show what Pond looks like.
<br><br>One cute thing about Pond is that you can check Pond syntax using a single regex. But apart from that, there's nothing compelling in using Pond to serialize data.


Rating: 4/10

=item L<File::Which>

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

You can always count on CPAN to have prewritten modules for various things, including this one. I've never bothered before about portability and just rely on the &quot;which&quot; command, but for one reason there's a time when I just couldn't do tha...
<br><br>Btw, there's also File::Which::Cached.


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

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

Another very handy little module that takes the hassle out of figuring the various mechanisms of capturing output.
<br><br>Nice interface, great documentation, very easy to use. But....
<br><br>Currently it cannot just capture stdout I<ONLY> or stderr I<ONLY> (while leaving the other alone). I believe this is one of the most commonly requested feature (already in RT). If that feature is implemented, this module deservers a 7-star ra...


Rating: 8/10

=item L<File::chdir>

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

This is a handy little module, with a simple and nice interface. One of the more common bugs encountered in my scripts is forgetting to track the current working directory after doing chdir() in subroutines. By localizing $CWD, I don't have to worry ...


=back

=head1 FAQ

=head2 What is an Acme::CPANModules::* module?

An Acme::CPANModules::* module, like this module, contains just a list of module
names that share a common characteristics. It is a way to categorize modules and
document CPAN. See L<Acme::CPANModules> for more details.

=head2 What are ways to use this Acme::CPANModules module?

Aside from reading this Acme::CPANModules module's POD documentation, you can
install all the listed modules (entries) using L<cpanm-cpanmodules> script (from
L<App::cpanm::cpanmodules> distribution):

 % cpanm-cpanmodules -n Import::CPANRatings::User::stevenharyanto

Alternatively you can use the L<cpanmodules> CLI (from L<App::cpanmodules>
distribution):

    % cpanmodules ls-entries Import::CPANRatings::User::stevenharyanto | cpanm -n

or L<Acme::CM::Get>:

    % perl -MAcme::CM::Get=Import::CPANRatings::User::stevenharyanto -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n

or directly:

    % perl -MAcme::CPANModules::Import::CPANRatings::User::stevenharyanto -E'say $_->{module} for @{ $Acme::CPANModules::Import::CPANRatings::User::stevenharyanto::LIST->{entries} }' | cpanm -n

This Acme::CPANModules module also helps L<lcpan> produce a more meaningful
result for C<lcpan related-mods> command when it comes to finding related
modules for the modules listed in this Acme::CPANModules module.
See L<App::lcpan::Cmd::related_mods> for more details on how "related modules"
are found.

=head1 HOMEPAGE



( run in 1.008 second using v1.01-cache-2.11-cpan-364913b4093 )