Acme-CPANModules-Import-CPANRatings-User-stevenharyanto

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

        undefs. More convenient to write than using ternary operator or
        grep. I'm beginning to adore syntax modules like this (as long as it
        adds negligible overhead). <br><br>

    File::Path::Tiny
        Author: DMUEY <https://metacpan.org/author/DMUEY>

        I like the concept, but do not like the overly short names mk() and
        rm(). Instead of mk(), how about mkdir_p() or mkpath() like in
        File::Path. Instead of rm(), how about rm_r() or rmtree() like in
        File::Path. <br>

        Rating: 6/10

    Exporter::Lite
        Author: NEILB <https://metacpan.org/author/NEILB>

        2011-10-04: I am now using Exporter::Lite exclusively instead of
        Exporter. Got bit once by Exporter when using for an OO module due
        to clash of assigning to @ISA vs 'use base'. +1 for putting it into
        core. <br><br>EDIT 2012-08-08: Nowadays I revert back to Exporter
        most of the time because Exporter is core. To avoid @ISA issue, one
        simply needs to import import() instead setting @ISA: <br><br>use
        Exporter qw(import); <br>

    YAML::Syck
        Author: TODDR <https://metacpan.org/author/TODDR>

        To be fair, in my experience YAML::Syck is not &quot;much more
        buggy&quot; than ::XS. It even sometimes works with my YAML data
        while ::XS crashes. Go figure.

    Devel::FindPerl
        Author: LEONT <https://metacpan.org/author/LEONT>

        IMO the module should explain in the POD, in what cases using $^X is
        not enough or how it is different from Probe::Perl. <br><br>Anyway,
        quoting CPAN Testers' CPAN Authors FAQ, $^X is not enough when: <br>
        1) perl was executed with a relative path and the script has
        chdir()ed; 2) because $^X originates in C's argv[0] (in the main()
        function) it is possible for the calling program to exec() in such a
        way that argv[0] isn't the path to the interpreter; 3) HP/UX can do
        weird stuff in scripts that use #!; 4) VMS. (Not clear about #4
        though :) ).

    Taint::Util
        Author: AVAR <https://metacpan.org/author/AVAR>

        IMO this is the best module to deal with tainting. BTW there are
        several other modules like Taint (only provides taint + tainted, no
        untaint), Untaint (only provides untaint with awkward interface,
        like $v = untaint(qr/.../, $v)), Scalar::Util (only provides
        tainted), Test::Taint (does not provide untaint but provides
        taint_deeply and test predicates), and several others.

    Markdown::Pod
        Author: KEEDI <https://metacpan.org/author/KEEDI>

        I use Markdown::Pod for my module Perinci::To::POD. <br><br>This
        module does not output proper POD for many (not so) edge cases,
        like: <br><br>"&gt;" and the likes are not yet escaped, producing
        C&lt;&gt;&gt; when it should have been C&lt;&lt; &gt; &gt;&gt; or
        C&lt;E&lt;gt&gt;&gt;. <br><br>Ordered list numbering does not yet
        work, e.g. &quot;2. ...\n3. ...\n&quot; produces &quot;=item 1. ...
        =item 1. ...&quot; <br><br>Ordered list with item numbered other
        than 1 does not work (see above). This should be supported in POD
        because POD allows us to write the bullets/numbers for each item.
        <br><br>Inline markup is not smart enough to differentiate
        word_with_underscore. So &quot;foo_bar and foo_baz&quot; becomes
        &quot;fooI&lt;bar and foo&gt;baz&quot;. <br><br>Plus it segfaults
        sometimes (might be my perl though).

        Rating: 4/10

    Lingua::Metadata
        Author: MAJLIS <https://metacpan.org/author/MAJLIS>

        As previous reviewer noted, this module is actually just a front-end
        to the author's web service. Plus license is specifically BSD (which
        allows this module to be included in closed source projects), this
        is rather ironic to me. <br>

    Finance::Currency::Convert::WebserviceX
        Author: CLACO <https://metacpan.org/author/CLACO>

        Simple, no-fuss interface, recommended. As mentioned in the doc, the
        alternatives have some downsides: Finance::Currency::Convert::Yahoo
        is based on web scraping while ::XE has usage limits. <br>

    Carp::Always::Color
        Author: DOY <https://metacpan.org/author/DOY>

        Like Carp::Always? Want something better? Here it is. <br>

    CHI Author: ASB <https://metacpan.org/author/ASB>

        The DBI of caching. Stop reinventing your caching framework and just
        use this. <br><br>UPDATE 2013-01-16: unfortunately, the use of Moose
        reduces the usefulness of CHI for command-line scripts (0.2s/146
        files/53k lines startup overhead just to initialize a File cache).
        So 4 stars instead of 5. Let's hope the author migrates to Moo
        someday. <br>

        Rating: 8/10

    Monkey::Patch
        Author: FRODWITH <https://metacpan.org/author/FRODWITH>

        Compared to several other monkey-patching modules (like Sub::Monkey
        or Class::Monkey) I prefer this one because the interface is
        simplest and the documentation is the most straightforward. Plus it
        can do stacked patching and unordered restore, which is cool.
        <br><br>

    Log::AutoDump
        Author: 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

README  view on Meta::CPAN

        called Unix::Passwd::File. Try it out if your needs are also not met
        by Passwd::Unix.

        Rating: 2/10

    Unix::ConfigFile
        Author: SSNODGRA <https://metacpan.org/author/SSNODGRA>

        Outdated module that doesn't handle /etc/shadow and /etc/gshadow.

        Rating: 2/10

    lib::xi
        Author: GFUJI <https://metacpan.org/author/GFUJI>

        Handy module for installing dependencies. There are previous
        efforts, but the arrival of cpanm makes autoinstall process less
        tedious, so hats off also to the creator of cpanm. <br>

    Capture::Tiny::Extended
        Author: MITHALDU <https://metacpan.org/author/MITHALDU>

        Indispensable. Provides nice enhancement to Capture::Tiny
        (particularly the real-time teeing). <br>

    google_talk_bot
        Improperly packaged, improper POD formatting, bot messages hardcoded
        in script, and yes... idiotic license. Basically a &quot;trial&quot;
        script to bait users into consultation gig. CPAN is not a place for
        this kind of thing. Please try again. <br>

        Rating: 2/10

    Clone::Any
        Author: EVO <https://metacpan.org/author/EVO>

        Using Clone::Any nowadays is more trouble than it's worth.
        <br><br>First, there are annoying incompatibilities between cloning
        modules. Most notably Storable, which is the default cloning module
        if Clone is not available, *still* doesn't support storing Regexp
        objects out-of-the-box after all these years. <br><br>Second, this
        module has not been updated for a long time and newer alternatives
        like the fast Data::Clone is not recognized. <br><br>Right now I'm
        replacing all code from using Clone::Any code to Data::Clone.
        <br><br>

        Rating: 4/10

    Array::OrdHash
        Author: WOWASURIN <https://metacpan.org/author/WOWASURIN>

        Fun module to play with, especially for those among us infected with
        a bit of PHP envy (me, never!). <br>

    Bash::Completion
        Author: MELO <https://metacpan.org/author/MELO>

        Clean code, plugin interface simple to use, but implementation needs
        to be improved. For example, parsing $ENV{COMP_LINE} &amp;
        $ENV{COMP_POINT} into @argv is done simplistically using
        split(/\h+/), without regard to shell's quotes/escapes.
        (Getopt::Complete's way is somewhat better by invoking shell, but it
        also has its problems. I guess in this regard external programs are
        second-class citizens to shell functions because they don't get the
        equivalents of COMP_WORDS/COMP_CWORD). <br>

        Rating: 6/10

    Bash::Completion::Plugins::cpanm
        Author: PERLER <https://metacpan.org/author/PERLER>

        Cool, except that with cpanm I often install local distribution
        (cpanm Foo-Bar-1.23.tar.gz). Perhaps the completion can look in the
        filesystem first before firing API request. Also, might be nice if
        there is some caching because it seems to be slow (at least from
        where I am). <br>

        Rating: 8/10

    Switch
        Author: CHORNY <https://metacpan.org/author/CHORNY>

        With all due respect to the author, Switch is no longer necessary in
        5.10+ as 5.10+ already introduced smart matching and given().
        given() is superior because it doesn't introduce compile-time
        overhead, doesn't mess line numbers, and should be faster (simply
        because smart match is fast, and Switch is not utilizing it).
        <br><br>You have been using 5.10+, right? (Since 5.8 is no longer
        officially supported) <br>

    Moo Author: HAARG <https://metacpan.org/author/HAARG>

        Last week I ported an application from Mouse (Any::Moose) to Moo.
        Went without a hitch (well I did replace &quot;with 'X', 'Y',
        'Z';&quot; to &quot;with 'X'; with 'Y'; with 'Z';&quot; as
        instructed in the Moo documentation). Startup time decreased
        significantly. Planning to move every Moose apps to Moo. Splendid!
        <br>

    Sub::StopCalls
        Author: RUZ <https://metacpan.org/author/RUZ>

        Cool idea, if a bit extreme. <br><br>If computing a value is
        expensive, there's Memoize for the caller. On the callee side, you
        can cache the result (there's state variable in 5.10+ so it's dead
        simple to use). <br><br>So I believe Sub::StopCalls is only
        necessary if you find the overhead of the sub call itself to be a
        bottleneck. And if that is the case, perhaps you should refactor the
        calling code anyway.

        Rating: 8/10

    Log::Log4perl::Tiny
        Author: POLETTIX <https://metacpan.org/author/POLETTIX>

        5 stars solely for the idea (I'm beginning to love the ::Tiny
        movement more and more these days). Haven't actually tried it
        though, but I bet many Log4perl users, me included, mostly only use
        easy_init. As much as Log4perl is mature and fairly optimized, it's
        still a relatively &quot;huge&quot; library. Nice to know there's a
        drop-in ::Tiny replacement.

README  view on Meta::CPAN

        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 flawlessly
        (submitted in RT). Keep up the good work! <br><br>

    App::lntree
        Author: 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 NTFS). <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>

    Data::Clone
        Author: 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>

    Data::Pond
        Author: 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 fewer data
        types directly&quot;. <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

    File::Which
        Author: 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 that. <br><br>Btw,
        there's also File::Which::Cached.

    String::ShellQuote
        Author: 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 few months
        ago after the millionth time I said enough is enough and started to
        look around in CPAN, and found this module. <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>

    Capture::Tiny
        Author: 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 *ONLY* or stderr
        *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 rating.

        Rating: 8/10

    File::chdir
        Author: 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 that
        subroutines mess up current working directory anymore.

FAQ
  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 Acme::CPANModules for more
    details.

  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 cpanm-cpanmodules
    script (from App::cpanm::cpanmodules distribution):

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

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

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

    or 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 lcpan produce a more meaningful
    result for "lcpan related-mods" command when it comes to finding related



( run in 2.415 seconds using v1.01-cache-2.11-cpan-a49fcb8fa48 )