Acme-CPANModules-Import-CPANRatings-User-perlancar

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

        Author: CLACO <https://metacpan.org/author/CLACO>

        No longer works. Sigh, looks like there is currently NO working
        generic currency converter module on CPAN anymore. Every converter
        module is either: 1) dead; 2) specific for some currencies only.
        <br>

        Rating: 2/10

    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>

README  view on Meta::CPAN

        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,
        can only handle IPv4 and not IPv6. Pros: some operations are faster
        than competing modules, e.g. validation. See also: NetAddr::IP,
        Net::CIDR. <br>

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

        Aside from being Moo-based (which, makes it a bit more heavyweight
        and with more dependencies), doesn't yet offer anything extra or
        more methods compared to previously existing modules like
        NetAddr::MAC.

        Rating: 4/10

    Acme::AsciiArtinator
        Author: MOB <https://metacpan.org/author/MOB>

        Cool. Now you can create your own Camel Code with ease!

    Object::Simple
        Author: KIMOTO <https://metacpan.org/author/KIMOTO>

        I'd say in terms of footprint and runtime performance, this module
        is average (it's not the most lightweight nor the fastest pure-perl
        object system, not to mention against XS ones). See my
        Bencher::Scenarios::Accessors for a comparison, e.g. <a
        href="https://metacpan.org/pod/Bencher::Scenario::Accessors::Get"
        rel="nofollow">metacpan.org/pod/Bencher::Scenario::A...</a> and <a
        href="https://metacpan.org/pod/Bencher::Scenario::Accessors::Set"
        rel="nofollow">metacpan.org/pod/Bencher::Scenario::A...</a> .
        <br><br>One drawback of using Mojo::Base and Object::Simple is its
        similar but slightly different and incompatible syntax with the Moo*
        family, so your code is not &quot;upgradable&quot; to Moo or Moose
        once you need more features. And often you'll end up wanting them,
        e.g. one day you'll probably read about the wonders of method
        modifiers (before, after, around), or roles, or wanting to have a
        lazy constructor, or triggers, and so on. <br><br>I'd recommend
        instead Mo. It's more lightweight than Object::Simple and you can do
        default value, builder, ro/rw, required, even coercion. But the
        features are modular and you only pay for what you use. And once you
        need more features later, you normally should be able to just
        replace 'use Mo' in your code with 'use Moo' or 'use Moose'.
        <br><br>Of course, this point is moot if you don't care about
        compatibility/upgradability to Moo*.

        Rating: 6/10

    Test::Needs
        Author: HAARG <https://metacpan.org/author/HAARG>

        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

README  view on Meta::CPAN

        I think this is basically logging under a fancy name and with a more
        cumbersome interface. Look at Log::Any instead.

    Term::Twiddle
        Author: SCOTTW <https://metacpan.org/author/SCOTTW>

        Cute! I didn't know SIGALRM still works even though you're doing
        blocking I/O or calling other programs. But unfortunately it doesn't
        work if you sleep(), making this approach not as attractive. <br>

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

        The move to Moo is very welcome, but I wish there were an
        alternative of CHI which is even more lightweight (starts in under
        0.01s). CHI::Tiny, anyone?

    App::YTDL
        Bit of a shame that we currently don't have a working YouTube
        download script/module (WWW::YouTube::Download is last updated 2013
        and has been broken for a long while). This module actually requires
        another *Python* script to do its job. I might as well skip this and
        go straight to the Python script. <br><br>UPDATE 2016-03-04: I guess
        it's been so for a few years, but this still needs to be said: For
        downloading YouTube videos, use youtube-dl (a far more popular
        Python project) and just forget the rest. Keeping up with YouTube
        changes is many times a full time job. Nothing else comes remotely
        close.

    XXX Author: INGY <https://metacpan.org/author/INGY>

        The part that makes this module convenient is that the functions
        return their original arguments. So when debugging (peppering dump
        statements), you don't have to change this: <br><br>return
        [&quot;some&quot;, $expr]; <br><br>to this (taking an example from
        another dumping module, Data::Dump): <br><br>my $tmp =
        [&quot;some&quot;, $expr]; dd $tmp; return $tmp; <br><br>but just
        this: <br><br>return YYY [&quot;some&quot;, $expr]; <br><br>This
        should be imitated by the other dumper functions.

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::perlancar

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

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

    or Acme::CM::Get:

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

    or directly:

        % perl -MAcme::CPANModules::Import::CPANRatings::User::perlancar -E'say $_->{module} for @{ $Acme::CPANModules::Import::CPANRatings::User::perlancar::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
    modules for the modules listed in this Acme::CPANModules module. See
    App::lcpan::Cmd::related_mods for more details on how "related modules"
    are found.

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Acme-CPANModules-Import-CPANRatings-User-p
    erlancar>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-Acme-CPANModules-Import-CPANRatings-U
    ser-perlancar>.

SEE ALSO
    Acme::CPANModules - about the Acme::CPANModules namespace

    cpanmodules - CLI tool to let you browse/view the lists

AUTHOR
    perlancar <perlancar@cpan.org>

CONTRIBUTING
    To contribute, you can send patches by email/via RT, or send pull
    requests on GitHub.

    Most of the time, you don't need to build the distribution yourself. You
    can simply modify the code, then test via:

     % prove -l

    If you want to build the distribution (e.g. to try to install it locally
    on your system), you can install Dist::Zilla,
    Dist::Zilla::PluginBundle::Author::PERLANCAR,
    Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two
    other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps
    required beyond that are considered a bug and can be reported to me.

COPYRIGHT AND LICENSE
    This software is copyright (c) 2023, 2018 by perlancar
    <perlancar@cpan.org>.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANModules-Impo
    rt-CPANRatings-User-perlancar>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.



( run in 2.445 seconds using v1.01-cache-2.11-cpan-364913b4093 )