Acme-CPANModules-Import-CPANRatings-User-stevenharyanto

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

        From what I see at a glance, App::YTDL supports downloading a video
        from a playlist and setting download speed limit, but perhaps the
        author should do the mode detailed explaining to help users when to
        choose between the two. <br>

    Data::CompactDump
        Author: MILSO <https://metacpan.org/author/MILSO>

        At the current form, simply too simplistic to be an alternative to
        Data::Dump or Data::Dumper. No support for blessed refs,
        filehandle/globs, circular references, and so on. Changes numbers to
        stringy numbers or vice versa. <br><br>Currently also contains some
        bugs like for -1 (changes it to string), &quot;\&quot; (produces
        invalid dump, does not handle backslash yet currently), <br><br>And
        Data::Dump's dump of {} and [] are currently more compact ;-)
        <br><br>Need to be improved significantly first. But keep up the
        effort.

    P   Author: LAWALSH <https://metacpan.org/author/LAWALSH>

        I personally don't mind the namespace choice. There are other
        single-letter CPAN modules too like B, L, U, V. If you have a beef
        with regard to namespace, don't single out P and perhaps downvote
        the other modules too. <br><br>Having said that, I would like to
        comment on the design and implementation of this module. <br><br>1)
        The choice of Unicode character U+2204 as representation of undef.
        Unless one does something like 'binmode STDOUT, &quot;:utf8&quot;',
        with 'say P undef' I am just trading one warning (&quot;Use of
        uninitialized value&quot;) with another (&quot;Wide character in
        say/print&quot;). The wide character warning is avoided if you do 'P
        &quot;%s&quot;, undef' though, which means... <br><br>2) P loads
        utf8 by default. For ultra-lightweight cases, this is sometimes not
        desirable. There is currently no way to turn this off. <br><br>3)
        The arbitrary choice of three levels deep when printing references.
        This can be customized but with an unusual syntax. But again, the
        arbitrary choice of three. <br><br>4) The &quot;complex&quot; rules
        of newline printing. p() is like puts, it can optionally add a
        newline. But unlike puts, the doc says it can also remove newlines.
        The behavior can also change if the string to be printed ends with
        0x83. <br><br>I might use P for a sprintf/printf replacement, but
        for debugging values, I'd prefer something &quot;dumber&quot; like
        Data::Dump::Color (or Data::Printer, if that's your thing).

    Xporter
        Author: LAWALSH <https://metacpan.org/author/LAWALSH>

        A couple of comments. First, if you want to import the default
        exports *as well as* some additional others, you can use Exporter's
        feature (the :DEFAULT tag): <br><br>use SomeModule qw(:DEFAULT a b
        c); <br><br>or you can also &quot;use&quot; twice: <br><br>use
        SomeModule; # imports default exports <br><br>use SomeModule qw(a b
        c); # import a, b, c <br><br>Second, if you use Xporter, your module
        will behave unlike most CPAN modules out there, because a majority
        of modules use Exporter. When people see this Perl code: <br><br>use
        SomeModule qw(a b c); <br><br>normally they will expect only a, b,
        and c are exported. If SomeModule uses Xporter, it will also by
        default export the default exports. <br><br>Basically Xporter is
        just Exporter with a different default (not arguably better or more
        user-friendly). For the sake of minimizing surprise to my users, I
        would avoid the use of Xporter. <br><br>UPDATE 2014-01-24: some
        edits. I appreciate the effort of the author to defend her module,
        though I am not convinced by her arguments.

    Dist::Zilla::Shell
        Author: DOLMEN <https://metacpan.org/author/DOLMEN>

        Nice tool that lets you type dzil commands like 'build', 'test', etc
        while sending all the other unknown commands like 'ls -l', 'man Foo'
        to the underlying shell. Also lets you avoid multiple startup
        overhead of dzil :-)

    CPANPLUS::Shell::Curses
        Author: MARCUS <https://metacpan.org/author/MARCUS>

        Unmaintained. Installs but no longer runs.

        Rating: 2/10

    Task::Mechanistic
        If you peek into its Makefile.PL, you'll see a seemingly
        random/heterogenous collection of modules to install (instead of
        just WWW::Mechanize). This is probably a Task::BeLike::$AUTHOR in
        disguise. <br><br>

    Sereal
        Author: YVES <https://metacpan.org/author/YVES>

        So far the best of the bunch. <br><br>FAST: much faster than
        Storable, roughly the same speed as (sometimes slightly faster than)
        Data::Clone for cloning. <br><br>FEATUREFUL: Can handle circular
        references, Regexp objects (trips out-of-the-box Storable),
        JSON::{PP,XS}::Boolean objects (trips Data::Clone). <br><br>COMPACT:
        definitely more compact (up to several times) than Storable.
        <br><br>I'm sold. What more do you want? Le Storable est mort, vive
        le Sereal!

    Test::Tester
        Author: EXODIST <https://metacpan.org/author/EXODIST>

        If you write test functions, you need this. It's like the
        &quot;Test::More&quot; for &quot;Test::More&quot;. However, it
        currently does not work out of the box with subtests (submitted as
        wishlist to RT). <br><br>PS: Thanks to Toby Inkster for pointing
        this module out. <br><br>

    Text::CharWidth
        Author: KUBOTA <https://metacpan.org/author/KUBOTA>

        It's faster than Unicode::GCString-&gt;new($str)-&gt;columns, but it
        gives wrong answers to lots of characters, e.g. control characters
        like &quot;\n&quot;, &quot;\t&quot;, etc are currently assumed to
        have width of -1 character. You're better off with
        Unicode::GCString.

        Rating: 2/10

    App::Options
        Author: SPADKINS <https://metacpan.org/author/SPADKINS>

        2010-10-13: <br><br>I admit, this is not the most flexible
        configuration framework out there as it enforces some convention.

README  view on Meta::CPAN

        Mouse or Moo, for quick startup (but don't mind Moose if those are
        not available). This also happens to me for YAML::Any: in some cases
        I prefer YAML::Syck, in others YAML::XS, this depends on the data
        that I'm handling. <br>

    PerlX::Perform
        Author: TOBYINK <https://metacpan.org/author/TOBYINK>

        I personally don't see much value of this syntactic sugar since Perl
        already allows us to express clearly. Pick one: <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>

    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).

    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 OK for
        me.

    Acme::Damn
        Author: 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 Windows. <br>

    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>

    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 *not* an Acme module, it's a port
        of a JavaScript library of the same name. <br>

    Locale::Geocode
        Author: 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 does not report 3 newer provinces in
        Indonesia. <br><br>Sadly we live in a world where countries and
        subcountries change all the time.

        Rating: 2/10

    Locale::SubCountry
        Author: 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 provinces in Indonesia. <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

    Data::Rmap
        Author: 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 the
        rmap_*() functions seem to let me get to the coderefs. (RT wishlist
        ticket added.) <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
        objects, because one of the main uses of Data::Rmap for me is to
        &quot;clean&quot; a data structure to pass to non-Perl systems. <br>

    Data::Properties::JSON
        Author: 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 {JSON,YAML,...} parser + Data::Hive.

    Exporter::Auto
        Author: 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 hand, gives no
        control at all for users (so they'll have to resort to 'use Module
        ();'). <br><br>Let me remind all again by quoting from Exporter's
        POD: &quot;Do *not* export anything else by default without a good
        reason! Exports pollute the namespace of the module user.&quot;

    Net::Douban
        Interface to web services should be put under WWW::*, not Net::*

    HTML::Form::XSS
        Author: DUMB <https://metacpan.org/author/DUMB>

        Should probably be put under Test::*?

    Thread::IID
        Author: WROG <https://metacpan.org/author/WROG>

README  view on Meta::CPAN

        different maintainers over the years. The codebase is indeed showing
        these, with different capitalization and indentation styles, among
        other things. <br><br>However, among more than a dozen or so of INI
        modules in CPAN, ironically there seems to be few other choices if
        you go beyond the most basic feature set. Some INI modules can only
        simplistically rewrite/dump the whole INI structure and thus lose
        comments/orders, while others can't even write INI files.
        <br><br>Config::IniFiles by far offers the most options and
        features, like dealing with line continuation, case sensitivity,
        default section, multiline/array, deltas, etc. So for now, despite
        all of its quirks, this module is still hard to beat.
        <br><br>There's another nice little INI module that can do
        read/set/delete/unset (instead of just read/dump): Prima::IniFile,
        but it is included in a totally unrelated distribution.

        Rating: 8/10

    DateTime
        Author: DROLSKY <https://metacpan.org/author/DROLSKY>

        Amidst all the glowing reviews may I add a reminder that, as with
        everything, there's a catch: runtime performance. On my PC, the
        speed of creating a DateTime object is just around 6000/sec. If you
        use DateTime intensively, it can quickly add up. <br><br>Imagine
        serving a web page that fetches 50 rows from database, where for
        convenience you convert each date column to a DateTime object, and
        you have 120 requests/sec coming in... That's already 6000 objects
        (an extra second!). <br><br>Which is unfortunate because DateTime is
        so wonderful, convenient, correct, complete and all that. So one
        approach you can use might be to delay converting to DateTime object
        until necessary.

    Date::Manip
        Author: SBECK <https://metacpan.org/author/SBECK>

        Wow, there are surely a lot of negative reviews ... <br><br>First of
        all, Date::Manip has a long history. I used this module back in
        2001-2002, IIRC. Back then it was *the* swiss army of date/time
        manipulation, something you use when you want the most
        flexible/complete thing in Perl. True, it's slow, but it works.
        <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 shipped in one
        single distribution). <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 life already requiring 5.10 right from its first released
        version. While in Date::Manip's case, this happens to a very widely
        used module. Surely backwards compatibility should be considered
        more. <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

    App::pmuninstall
        Author: 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 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



( run in 0.539 second using v1.01-cache-2.11-cpan-13bb782fe5a )