Acme-CPANModules-Import-CPANRatings-User-perlancar

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


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

        Uses hard-coded rates in the source code. Does not seem to work
        anymore: convert() returns zero even after updateRates().

        Rating: 2/10

    Finance::Currency::Convert::XE
        Author: RMCKAY <https://metacpan.org/author/RMCKAY>

        Of limited use because of the site's restrictive license. UPDATE:
        And it no longer works.

        Rating: 2/10

    Finance::Currency::Convert::Yahoo
        Author: LGODDARD <https://metacpan.org/author/LGODDARD>

        No longer works (not a surprise since this module has not been
        updated since almost 13 years ago).

        Rating: 2/10

    App::used
        Author: IVANWILLS <https://metacpan.org/author/IVANWILLS>

        Uses simple regex instead of properly parses Perl source code (PPI,
        Compiler::Lexer) so potentially lots of false positives. Better use
        existing solutions like Perl::PrereqScanner or
        Perl::PrereqScanner::Lite, which already come with their own CLI's.

    Net::FTPServer
        Author: RYOCHIN <https://metacpan.org/author/RYOCHIN>

        Currently the only &quot;real&quot; module to create FTP servers in
        Perl. My suggestion would be to separate the Perl API documentation
        vs using the ftpd*.pl script, as the Net::FTPServer documentation
        currently mixes the two.

    Games::Sudoku::CLI
        Author: SZABGAB <https://metacpan.org/author/SZABGAB>

        Early release, so not polished yet, but... cool! Thanks, Gabor. We
        need more CLI games! <br>

    PPR Author: DCONWAY <https://metacpan.org/author/DCONWAY>

        The coolest thing since PPI. Now every time someone still says that
        one can't parse HTML or balanced parentheses using regex, you can
        just point him to this module to shut him up (although, if he had
        said that one *shouldn't*...). <br><br>Also now you can say that
        Perl is a simple language that is easy to learn. Why? Well, it's so
        simple you can parse the whole syntax with a single regex. <br><br>

    DBIx::Compare
        Author: CJONES <https://metacpan.org/author/CJONES>

        Use MySQL-specific SQL dialect &quot;SHOW TABLES&quot; so comparing
        e.g. two SQLite database is an instant fail, even though there is
        DBIx::Compare::SQLite. Instead of the common convention like
        DBIx::Compare-&gt;new(...), uses db_comparison-&gt;new(...),
        sqlite_comparison-&gt;new(...), etc.

        Rating: 4/10

    Perl::Critic
        Author: PETDANCE <https://metacpan.org/author/PETDANCE>

        Hey, Perl::Critic has not been reviewed for quite a while...
        <br><br>Finally take the plunge (again) to include Perl::Critic in
        my development work, this time adding critic test in the Dist::Zilla
        release process. Already caught a couple of stupid bugs otherwise
        uncaught by perl's -w. Aside from that, will help you become more
        consistent and a better (Perl) programmer. Invaluable!

    Config::Perl
        Author: HAUKEX <https://metacpan.org/author/HAUKEX>

        Rating Data::Undump::PPI, which currently lives inside Config-Perl:
        <br><br>Of course this is a nice proof of concept, but for
        &quot;real world&quot; usage, look at Data::Undump which is about
        2000x faster :)

    Array::Contains
        Author: CAVAC <https://metacpan.org/author/CAVAC>

        Requires perl 5.20 for no particular reason. Claims to be
        replacement of smart match but only covers string comparison. Just
        use List::Util's first() which is more flexible and part of the core
        Perl distribution, or match::smart which covers more cases.

        Rating: 2/10

    Array::Unique
        Author: SZABGAB <https://metacpan.org/author/SZABGAB>

        Mostly unnecessary because this is just a glorified form of a widely
        known Perl idiom. Requires perl 5.20 for no particular reason.
        Re-sorts the list which is 99% not what user wants. Just use
        List::Util's uniq() which is faster and part of core distribution.

        Rating: 2/10

    Dist::Zilla::Plugin::ReadmeFromPod
        Author: FAYLAND <https://metacpan.org/author/FAYLAND>

        Has some problems, e.g. it uses InstallTool phase so it conflicts
        with DZP:StaticInstall when wanting to produce a static install
        distro. Use alternatives like the simpler DZP:Pod2Readme or the more
        complex DZP:ReadmeAnyFromPod. <br>

        Rating: 2/10

    Dist::Zilla::Plugin::Hook
        Author: VDB <https://metacpan.org/author/VDB>

        Great for debugging. Just whip up some code in dist.ini to e.g. dump
        &amp; print some stuffs, etc.

    File::Tail::Dir
        Author: JJSCHUTZ <https://metacpan.org/author/JJSCHUTZ>

        Interesting features, but mooseware.

        Rating: 6/10

    Algorithm::Dependency
        Author: 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

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

    File::Find::Wanted
        Author: PETDANCE <https://metacpan.org/author/PETDANCE>

        File::Find lacks the &quot;making easy things easy&quot; part, so
        modules like this are great. A further step would be an option to
        omit $wanted for even simpler cases, but that would probably break
        the interface. Another alternative is File::Finder, but it forces OO
        style. <br>

        Rating: 8/10

    Hash::MD5
        Author: MZIESCHA <https://metacpan.org/author/MZIESCHA>

        Since this is essentially md5(dump($data)), why restrict yourself to
        hash? This works also for any kind of Perl data structure.

    DateTime::Format::Docker
        Author: MZIESCHA <https://metacpan.org/author/MZIESCHA>

        Isn't this basically ISO8601 (see DateTime::Format::ISO8601)?

    WWW::CPANRatings
        Author: CORNELIUS <https://metacpan.org/author/CORNELIUS>

        To get the ratings for a single distribution, this client library
        needs to download /csv/all_ratings.csv (~80KB at the time of this
        writing) first. This is not the fault of the client because the
        website indeed does not provide the necessary ratings data on the
        /dist/:DISTNAME page. The client library should perhaps cache the
        CSV response though. The implementation could also be simplified by
        using slimmer libraries for this simple scraping task. But other
        than that, does what it says on the tin.

        Rating: 8/10

    Parse::CPAN::Ratings
        Author: LBROCARD <https://metacpan.org/author/LBROCARD>

        Not as useful as the name implies. It requires you to download the
        CSV of all ratings first, which BTW does not seem to be advertised
        on the CPAN Ratings website. The CSV file only contains numeric
        ratings and does not include any reviews. So basically what this
        module does is just filter the CSV rows for a distribution's rating.
        <br><br>One might want to look at WWW::CPANRatings instead.

        Rating: 6/10

    Acme::Curse
        Author: MORITZ <https://metacpan.org/author/MORITZ>

        This pure-perl module creates a shallow copy of the object instead
        of directly removing blessing from the same object (which requires
        XS). Acme::Damn is the more direct counterpart of bless(). <br>

    Digest::SHA1
        Author: GAAS <https://metacpan.org/author/GAAS>

        Use Digest::SHA instead. In general, there is no reason in using
        Digest::SHA1 over Digest::SHA. The latter is a core Perl module,
        more updated, and implements the other algorithms while the former
        only implements SHA-1 which is now deprecated. <br><br>

    File::Checksum
        Author: KNORR <https://metacpan.org/author/KNORR>

        The &quot;checksum&quot; (basically just adding 16-bit words) is too
        simplistic to be a real checksum or to be practically useful. Even
        MD5 or CRC32 is infinitely better. <br>

    WordPress::XMLRPC
        Author: 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 is last updated with
        WordPress 2.8.4). And apparently wordpress.com doesn't return
        post_content anymore when you use metaWeblog.getPost.
        <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...</a>

    Text::Levenshtein::Flexible
        Author: MBETHKE <https://metacpan.org/author/MBETHKE>

        My new favorite Levenshtein distance module. It's as fast (if not
        faster) than Text::Levenshtein::XS and can provide a speed boost if
        you don't care about distances above a certain limit. Which I think
        in many cases is true.

    CPAN::Changes
        Author: HAARG <https://metacpan.org/author/HAARG>

        Great and all, but one drawback is that it currently destroys
        original file's formatting in serialize().

    Module::Changes::ADAMK
        Author: ADAMK <https://metacpan.org/author/ADAMK>

        Any module from ADAMK should be interesting, including this one. But
        please take a look at CPAN::Changes for the de facto standard
        nowadays.

    Module::Metadata::Changes
        Author: RSAVAGE <https://metacpan.org/author/RSAVAGE>

        Like Module::Changes, this module also tries to use a more defined
        format for Changes. Sadly, it has not caught on. Please also take a
        look at CPAN::Changes which seems to be the de facto standard
        nowadays.

    Module::Changes
        Author: MARCEL <https://metacpan.org/author/MARCEL>

        In general I'm not opposed to the idea of this module. The included
        'changes' script is also pretty cool (which I'm trying to recreate,
        for CPAN::Changes). <br><br>Just pointing out that I believe this
        module has not really &quot;caught on&quot; among the CPAN
        community. What has, is, CPAN::Changes which is followed by many
        authors and even employed on MetaCPAN. <br>

    Archive::Tar::Wrapper
        Author: ARFREITAS <https://metacpan.org/author/ARFREITAS>

        Sadly there is not a single perfect Archive::Tar::* module out
        there. Either a module offers incomplete API, (was) buggy, or it is
        crippled/limited in some way. Plus, the modules are mostly
        incompatible with one another. And that's why TIMTOWTDI. <br><br>For
        the task of just listing files in an archive, for example, it seems
        only Archive::Tar and Archive::Tar::Wrapper are usable.
        Archive::Tar::Wrapper is fast (because it utilizes external C-based
        tar utility) and does not load all contents of an archive into
        memory, but requires writing to temporary files and of course
        requires a tar utility so portability to non-Unix systems might be
        an issue.

    Archive::Tar
        Author: BINGOS <https://metacpan.org/author/BINGOS>

        Sadly there is not a single perfect Archive::Tar::* module out
        there. Either a module offers incomplete API, (was) buggy, or it is
        crippled/limited in some way. Plus, the modules are mostly
        incompatible with one another. And that's why TIMTOWTDI. <br><br>For
        the task of just listing files in an archive, for example, it seems
        only Archive::Tar and Archive::Tar::Wrapper are usable. Archive::Tar
        is a core module, but relatively slow, and extracts all contents of
        an archive in memory so it's not workable for huge archives. <br>

    Hash::Util::Pick
        Author: PINE <https://metacpan.org/author/PINE>

        One can easily use this idiom instead: <br><br>$picked = { map
        {(exists $hash{$*} ? ($*=&gt;$hash{$*}):())} @keys }; <br><br>or:
        <br><br>$picked = { map {$*=&gt;$hash{$*}} grep {exists $hash{$*}}
        @keys }; <br><br>or (if you want non-existing picked keys to be
        created instead): <br><br>$picked = { map {$_ =&gt; $hash{$_}} @keys
        }; <br><br>but Hash::Util::Pick is implemented in XS and can be a
        few times faster than the above when the number of keys has reached
        thousands. So I guess this module has its uses.

    NetObj::IPv4Address
        Author: HEEB <https://metacpan.org/author/HEEB>

        Cons: more heavyweight (requires Moo), limited operations/methods,

README  view on Meta::CPAN


        Nice. API is more convenient to use than Test::Requires, especially
        if you use subtests. <br>

    HTTP::Command::Wrapper
        Author: PINE <https://metacpan.org/author/PINE>

        There are a few use-cases where this would be useful (mostly, to
        access https websites in the absence of required perl library like
        LWP::Protocol::https), but it would be more useful to provide an API
        that is already familiar to Perl programmers. That's why MIYAGAWA
        created HTTP::Tinyish.

    File::Util
        Author: 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 $*,
        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.

    Common::Routine
        Author: PEKINGSAM <https://metacpan.org/author/PEKINGSAM>

        A couple of comments: <br><br>* Some functions like min(), max(),
        etc need not be reinvented because they are already in core module
        List::Util. But I guess the author wants to be able to say
        min([1,2,3]) in addition to min(1,2,3). <br><br>* round() uses
        Number::Format, note that rounding number using this module is
        hundreds of times slower than using sprintf(). <br><br>

    Submodules
        Author: ZARABOZO <https://metacpan.org/author/ZARABOZO>

        A couple of prior arts: <br><br>* all, <a
        href="https://metacpan.org/pod/all"
        rel="nofollow">metacpan.org/pod/all</a> (since 2003), nicer
        interface and offers &quot;use&quot;/compile-time interface, so it's
        more equivalent to the statements it wants to replace. The
        Submodules equivalent would be: BEGIN { for my $i
        (Submodules-&gt;find(&quot;Blah&quot;)) { $i-&gt;require } }.
        <br><br>* Module::Require, <a
        href="https://metacpan.org/pod/Module::Require"
        rel="nofollow">metacpan.org/pod/Module::Require</a> (since 2001),
        also nicer interface, more flexible, and more lightweight
        implementation. <br><br>I don't like Submodules' interface, it's too
        verbose and clunky. IMO, the interface should be a one-liner and
        without manual looping.

    Regexp::Assemble
        Author: RSAVAGE <https://metacpan.org/author/RSAVAGE>

        I guess it depends on your data, but for random shortish strings
        (hundreds to thousands of them), I find that using raw joining is
        much faster to assemble the regex. And the resulting regex is also
        (much) faster to match. Please see Bencher::Scenario::RegexpAssemble
        if you're interested in the benchmark script.

    Tie::Scalar::Callback
        Author: DFARRELL <https://metacpan.org/author/DFARRELL>

        There is a prior art Tie::Simple (created in 2004) which works for
        scalar as well as the other types of ties that perl supports (array,
        hash, handle). <br>

    JSON::Create
        Author: BKB <https://metacpan.org/author/BKB>

        Review for 0.02: Performance-wise, still has some catching up to do
        against JSON::XS &amp; Cpanel::JSON::XS with regards to encoding
        arrays &amp; hashes. <br><br>UPDATE review for 0.19: Giving it 4
        stars now. Speed has been improving and on-par/slightly better than
        the other JSON XS modules in some areas, while a bit worse in some
        other areas. Faster modules are always welcome.

        Rating: 8/10

    Set::Scalar
        Author: DAVIDO <https://metacpan.org/author/DAVIDO>

        Confirming previous reviewer, the module is a lot slower (~ 20-40x)
        than other alternatives like Array::Utils or List::MoreUtils when
        you want to perform basic set operations like
        union/intersect/diff/symmetric diff.

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

        I can see the value of Exporter::Easy (although these days the
        saving in typing is not as big, with plain Exporter one can just
        say: use Exporter 'import'; our @EXPORT = qw(a b c)).
        <br><br>However I fail to see the value of Exporter::Easiest. I'd
        rather use plain Perl than some DDL which cannot be checked
        statically or cannot be syntax-highlighted, just to save some []'s
        and ()'s (which I can get my editor to help me type them).
        <br><br>In short, I'd rather use plain Exporter than save a few
        keystrokes but add a non-core dependency.

        Rating: 6/10

    App::cpm
        Author: SKAJI <https://metacpan.org/author/SKAJI>

        Due to parallel processes and defaulting on no_test, can be several
        times faster than cpanminus (tried installing a module on a vanilla
        perlbrew instance with local CPAN mirror, which pulled +- 200
        distributions, &quot;cpanm -n&quot; took 2m9s, while cpm took 38s.)
        I hope this gets developed further. Great job. <br>

    Zodiac::Chinese
        Author: CAVAC <https://metacpan.org/author/CAVAC>

        From the doc: &quot;This module generates one's Chinese zodiac.



( run in 0.519 second using v1.01-cache-2.11-cpan-5a3173703d6 )