view release on metacpan or search on metacpan
0.002   2023-10-29  Released-By: PERLANCAR; Urgency: low
        - No functional changes.
        - Tweak Abstract (add 'List of ...') to follow convention.
0.001   2018-06-07  Released-By: PERLANCAR
        - First release.
 Copyright (C) 1989 Free Software Foundation, Inc.
 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.
                            Preamble
  The license agreements of most software companies try to keep users
at the mercy of those companies.  By contrast, our General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  The
General Public License applies to the Free Software Foundation's
software and to any other program whose authors commit to using it.
You can use it for your programs, too.
  When we speak of free software, we are referring to freedom, not
price.  Specifically, the General Public License is designed to make
sure that you have the freedom to give away or sell copies of free
software, that you receive source code or can get it if you want it,
that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
  For example, if you distribute copies of a such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
General Public License and to the absence of any warranty; and give any
other recipients of the Program a copy of this General Public License
along with the Program.  You may charge a fee for the physical act of
transferring a copy.
  2. You may modify your copy or copies of the Program or any portion of
it, and copy and distribute such modifications under the terms of Paragraph
1 above, provided that you also do the following:
    a) cause the modified files to carry prominent notices stating that
    you changed the files and the date of any change; and
    b) cause the whole of any work that you distribute or publish, that
    in whole or in part contains the Program or any part thereof, either
    with or without modifications, to be licensed at no charge to all
    third parties under the terms of this General Public License (except
    that you may choose to grant warranty protection to some or all
    third parties, at your option).
    c) If the modified program normally reads commands interactively when
    run, you must cause it, when started running for such interactive use
    in the simplest and most usual way, to print or display an
    announcement including an appropriate copyright notice and a notice
    that there is no warranty (or else, saying that you provide a
    warranty) and that users may redistribute the program under these
    conditions, and telling the user how to view a copy of this General
    Public License.
    d) You may charge a fee for the physical act of transferring a
    copy, and you may at your option offer warranty protection in
    exchange for a fee.
Mere aggregation of another independent work with the Program (or its
derivative) on a volume of a storage or distribution medium does not bring
the other work under the scope of these terms.
  3. You may copy and distribute the Program (or a portion or derivative of
it, under Paragraph 2) in object code or executable form under the terms of
Paragraphs 1 and 2 above provided that you also do one of the following:
    a) accompany it with the complete corresponding machine-readable
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
                     END OF TERMS AND CONDITIONS
        Appendix: How to Apply These Terms to Your New Programs
  If you develop a new program, and you want it to be of the greatest
possible use to humanity, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
  To do so, attach the following notices to the program.  It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) 19yy  <name of author>
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications
derived from the Public Domain or from the Copyright Holder.  A Package
modified in such a way shall still be considered the Standard Version.
3. You may otherwise modify your copy of this Package in any way, provided
that you insert a prominent notice in each changed file stating how and
when you changed that file, and provided that you do at least ONE of the
following:
    a) place your modifications in the Public Domain or otherwise make them
    Freely Available, such as by posting said modifications to Usenet or
    an equivalent medium, or placing the modifications on a major archive
    site such as uunet.uu.net, or by allowing the Copyright Holder to include
    your modifications in the Standard Version of the Package.
    b) use the modified Package only within your corporation or organization.
neither be construed as a distribution of this Package nor shall it
fall under the restrictions of Paragraphs 3 and 4, provided that you do
not represent such an executable image as a Standard Version of this
Package.
7. C subroutines (or comparably compiled subroutines in other
languages) supplied by you and linked into this Package in order to
emulate subroutines and variables of the language defined by this
Package shall not be considered part of this Package, but are the
equivalent of input as in Paragraph 6, provided these subroutines do
not change the language in any way that would cause it to fail the
regression tests for the language.
8. Aggregation of this Package with a commercial distribution is always
permitted provided that the use of this Package is embedded; that is,
when no overt attempt is made to make this Package's interfaces visible
to the end user of the commercial distribution.  Such use shall not be
construed as a distribution of this Package.
9. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written permission.
        script must be executed thousands of times a day, that 9ms
        difference will matter more. <br><br>I use this for a very
        lightweight parent class. A richer subclass then uses Moo.
        <br><br>Isn't it great that we have the choices and upgrade path
        from the very minimal Mo, to Moo for normal cases, to Moos and Moose
        for even richer (but heavier) alternatives. Truly TIMTOWTDI! <br>
    App::ChangeShebang
        Author: SKAJI <https://metacpan.org/author/SKAJI>
        Given that the name of this module/app is "change shebang"
        (instead of "change shebang to samedir perl") perhaps this
        app can be made more generic? For example, I've had to change all
        shebangs from "#!/usr/bin/env perl" to "#!perl"
        and vice versa. Perhaps this module/app can become a tool to easily
        switch between shebangs. <br>
    Hash::Ordered
        Author: DAGOLDEN <https://metacpan.org/author/DAGOLDEN>
        Overall looks ok, with the exception that it does not look and feel
        like a regular Perl hash at all. Now someone just needs to create a
        tie interface on top of this :) <br>
        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), "\" (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
        uninitialized value") with another ("Wide character in
        say/print"). The wide character warning is avoided if you do 'P
        "%s", 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 "complex" 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 "dumber" 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
    Filesys::Notify::Simple
        Author: MIYAGAWA <https://metacpan.org/author/MIYAGAWA>
        It's rather unfortunate that currently the choice for general
        purpose cross-platform filesystem notification modules on CPAN falls
        between this module (FNS) or File::ChangeNotify (F::CN). The other
        CPAN modules are either OS-/framework-specific. <br><br>FNS has a
        simple API but is perhaps too simple for some uses, while F::CN uses
        Moose and has a big startup overhead. <br><br>If you simply want to
        check from time to time whether a change has occured, you need to
        wrap the wait() method with alarm(). And I found on my Linux PC that
        I need a timeout of at least 3 seconds for this to work reliably.
        Rating: 8/10
    experimental
        Author: LEONT <https://metacpan.org/author/LEONT>
        Vote +1 to add this to core. Please make coding in Perl 5 relatively
        painless.
        Rating: 2/10
    WWW::YouTube::Download
        Author: OALDERS <https://metacpan.org/author/OALDERS>
        Works for me too ATM. I've tried several command-line scripts (most
        of them Python-based, like youtube-dl, tubenick, etc). Sometimes
        they work, sometimes they broke. It's the nature of this kind of
        script. The quality comes from persistence. This module has been
        maintained since 2009, through several YouTube's changes. I commend
        the author, good job, and thanks!
    Number::Zero
        From the module's POD: "The number zero and undef are difficult
        to determine in Perl." <br><br>Are they? <br><br>say
        !defined($data) ? "undef" : "not undef";
        <br><br>say defined($data) && $data==0 ? "zero" :
        "not zero"; # yes, warn if non-numeric <br><br>use
        Scalar::Util 'looks_like_number'; <br> say looks_like_number($data)
        && $data==0 ? "zero" : "not zero";
        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>
        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 reinvented
        on CPAN, and that's okay, I just wish more people would document the
        reason.
    Sub::Mage
        Author: BRADH <https://metacpan.org/author/BRADH>
        Since the first release, there are 13 subsequent releases in total.
        What are the changes between releases? No idea, the author doesn't
        bother to update Changes (and no public repo is listed). Apparently
        all his other modules are also like this. Not very user-friendly.
        <br><br>UPDATE 2011-11-22: I see that this has been rectified by the
        author, there is now Changes entry for each new release. Cool,
        thanks. <br>
    relative_lib
        Documentation is placed in README.md, so it's inaccessible from
        perldoc et al. Why? This is not a Python library.
        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 -> 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
devdata/stevenharyanto view on Meta::CPAN
   (<a href="https://metacpan.org/release/App-ChangeShebang/">0.02</a>)
</h3>
<blockquote class="review_text">
Given that the name of this module/app is "change shebang" (instead of "change shebang to samedir perl") perhaps this app can be made more generic? For example, I've had to change all shebangs from "#!/usr/bin/env perl" ...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-07-05T23:43:48
(<a href="/dist/App-ChangeShebang#11820">permalink</a>)
</p>
devdata/stevenharyanto view on Meta::CPAN
   (<a href="https://metacpan.org/release/Data-CompactDump/">0.04</a>)
</h3>
<blockquote class="review_text">
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 con...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-01-24T10:41:57
(<a href="/dist/Data-CompactDump#11522">permalink</a>)
</p>
<div class="helpfulq">
devdata/stevenharyanto view on Meta::CPAN
   (<a href="https://metacpan.org/release/P/">1.1.24</a>)
</h3>
<blockquote class="review_text">
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 woul...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-01-14T11:05:37
(<a href="/dist/P#11516">permalink</a>)
</p>
<div class="helpfulq">
devdata/stevenharyanto view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-4.0.png" alt="****">
</h3>
<blockquote class="review_text">
It's rather unfortunate that currently the choice for general purpose cross-platform filesystem notification modules on CPAN falls between this module (FNS) or File::ChangeNotify (F::CN). The other CPAN modules are either OS-/framework-specific.
<br>...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2013-07-04T20:56:05
(<a href="/dist/Filesys-Notify-Simple#11193">permalink</a>)
</p>
<div class="helpfulq">
devdata/stevenharyanto view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-5.0.png" alt="*****">
</h3>
<blockquote class="review_text">
Works for me too ATM. I've tried several command-line scripts (most of them Python-based, like youtube-dl, tubenick, etc). Sometimes they work, sometimes they broke. It's the nature of this kind of script. The quality comes from persistence. This mod...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2012-11-16T10:32:28
(<a href="/dist/WWW-YouTube-Download#10550">permalink</a>)
</p>
<div class="helpfulq">
devdata/stevenharyanto view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-1.0.png" alt="*">
</h3>
<blockquote class="review_text">
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 o...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2012-02-07T17:07:11
(<a href="/dist/Locale-Geocode#9590">permalink</a>)
</p>
<div class="helpfulq">
devdata/stevenharyanto view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-4.0.png" alt="****">
</h3>
<blockquote class="review_text">
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:...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2012-02-07T17:04:09
(<a href="/dist/Locale-SubCountry#9588">permalink</a>)
</p>
devdata/stevenharyanto view on Meta::CPAN
   (<a href="https://metacpan.org/release/Sub-Mage/">0.016</a>)
</h3>
<blockquote class="review_text">
Since the first release, there are 13 subsequent releases in total. What are the changes between releases? No idea, the author doesn't bother to update Changes (and no public repo is listed). Apparently all his other modules are also like this. Not v...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2011-11-17T07:05:12
(<a href="/dist/Sub-Mage#9368">permalink</a>)
</p>
devdata/stevenharyanto view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-3.0.png" alt="***">
</h3>
<blockquote class="review_text">
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 mos...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2010-10-28T21:46:00
(<a href="/dist/Date-Manip#7802">permalink</a>)
</p>
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
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
A great alternative when Moo is a bit too much for you. Useful for scripts that must start really fast. Mind you, Moo loads about 5K lines of code and more than a dozen files, all of which takes +- 10ms on my computer. Mo on the other hand is only a ...
<br><br>I use this for a very lightweight parent class. A richer subclass then uses Moo.
<br><br>Isn't it great that we have the choices and upgrade path from the very minimal Mo, to Moo for normal cases, to Moos and Moose for even richer (but heavier) alternatives. Truly TIMTOWTDI!
<br>
=item L<App::ChangeShebang>
Author: L<SKAJI|https://metacpan.org/author/SKAJI>
Given that the name of this module/app is "change shebang" (instead of "change shebang to samedir perl") perhaps this app can be made more generic? For example, I've had to change all shebangs from "#!/usr/bin/env perl" ...
<br>
=item L<Hash::Ordered>
Author: L<DAGOLDEN|https://metacpan.org/author/DAGOLDEN>
Overall looks ok, with the exception that it does not look and feel like a regular Perl hash at all. Now someone just needs to create a tie interface on top of this :)
<br>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
This module is based on WWW::YouTube::Download but its documentation does not yet explain how it differs from WWW::YouTube::Download. From what I see at a glance, App::YTDL supports downloading a video from a playlist and setting download speed limit...
<br>
=item L<Data::CompactDump>
Author: L<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), "\" (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.
=item L<P>
Author: L<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, ":utf8"', with 'say P undef' I am just trading one warning ("Use of uninitialized value") with another (...
<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 "complex" 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 "dumber" like Data::Dump::Color (or Data::Printer, if that's your thing).
=item L<Xporter>
Author: L<LAWALSH|https://metacpan.org/author/LAWALSH>
A couple of comments. First, if you want to import the default exports I<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 "use" twice:
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
Rating: 4/10
=item L<Filesys::Notify::Simple>
Author: L<MIYAGAWA|https://metacpan.org/author/MIYAGAWA>
It's rather unfortunate that currently the choice for general purpose cross-platform filesystem notification modules on CPAN falls between this module (FNS) or File::ChangeNotify (F::CN). The other CPAN modules are either OS-/framework-specific.
<br><br>FNS has a simple API but is perhaps too simple for some uses, while F::CN uses Moose and has a big startup overhead. 
<br><br>If you simply want to check from time to time whether a change has occured, you need to wrap the wait() method with alarm(). And I found on my Linux PC that I need a timeout of at least 3 seconds for this to work reliably.
Rating: 8/10
=item L<experimental>
Author: L<LEONT|https://metacpan.org/author/LEONT>
Vote +1 to add this to core. Please make coding in Perl 5 relatively painless.
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
Balancing previous glowing reviews. Storable has it faults, for example historically its track record for file format backwards compatibility is poor, making programs fail when loading Storable files after the module is upgraded.
<br><br>Also, more importantly, add builtin support for Regexp object already! It's almost 2013, Regexp object has been around for, what, more than a decade? I can understand not supporting serializing filehandle or coderef, but Regexp object?
Rating: 2/10
=item L<WWW::YouTube::Download>
Author: L<OALDERS|https://metacpan.org/author/OALDERS>
Works for me too ATM. I've tried several command-line scripts (most of them Python-based, like youtube-dl, tubenick, etc). Sometimes they work, sometimes they broke. It's the nature of this kind of script. The quality comes from persistence. This mod...
=item L<Number::Zero>
From the module's POD: "The number zero and undef are difficult to determine in Perl."
<br><br>Are they?
<br><br>say !defined($data) ? "undef" : "not undef";
<br><br>say defined($data) && $data==0 ? "zero" : "not zero"; # yes, warn if non-numeric
<br><br>use Scalar::Util 'looks_like_number';
<br>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
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>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
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>
Since the first release, there are 13 subsequent releases in total. What are the changes between releases? No idea, the author doesn't bother to update Changes (and no public repo is listed). Apparently all his other modules are also like this. Not v...
<br><br>UPDATE 2011-11-22: I see that this has been rectified by the author, there is now Changes entry for each new release. Cool, thanks.
<br>
=item L<relative_lib>
Documentation is placed in README.md, so it's inaccessible from perldoc et al. Why? This is not a Python library.
=item L<CPAN::Mini::Webserver>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
<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.
=item L<Date::Manip>
Author: L<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 I<the> swiss army of date/time manipulation, something you use when you want the most flexible/complete thing in Perl. True, it's slow,...
<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 -> 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>