Acme-CPANModules-Import-CPANRatings-User-stevenharyanto

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

                     ":PerlExecFiles"
                  ],
                  "skips" : [],
                  "switch" : []
               }
            },
            "name" : "@Author::PERLANCAR/Test::Compile",
            "version" : "2.058"
         },
         {
            "class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
            "config" : {
               "Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
                  "finder" : [
                     ":ExecFiles",
                     ":InstallModules",
                     ":TestFiles"
                  ]
               }
            },
            "name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
            "version" : "3.001.006"
         },
         {
            "class" : "Dist::Zilla::Plugin::Test::Rinci",
            "name" : "@Author::PERLANCAR/Test::Rinci",
            "version" : "0.040"
         },
         {
            "class" : "Dist::Zilla::Plugin::StaticInstall",
            "config" : {

META.yml  view on Meta::CPAN

            - ':InstallModules'
          needs_display: 0
          phase: test
          script_finder:
            - ':PerlExecFiles'
          skips: []
          switch: []
      name: '@Author::PERLANCAR/Test::Compile'
      version: '2.058'
    -
      class: Dist::Zilla::Plugin::Test::Perl::Critic::Subset
      config:
        Dist::Zilla::Plugin::Test::Perl::Critic::Subset:
          finder:
            - ':ExecFiles'
            - ':InstallModules'
            - ':TestFiles'
      name: '@Author::PERLANCAR/Test::Perl::Critic::Subset'
      version: 3.001.006
    -
      class: Dist::Zilla::Plugin::Test::Rinci
      name: '@Author::PERLANCAR/Test::Rinci'
      version: '0.040'
    -
      class: Dist::Zilla::Plugin::StaticInstall
      config:
        Dist::Zilla::Plugin::StaticInstall:
          dry_run: 0

README  view on Meta::CPAN

        other features of Data::Dumper too). <br><br>Also the choice of
        returning error (&quot;$Var00 = not a reference&quot; when given
        Dumper(1) for example) as result is arguably unwise. <br>

    Archive::Probe
        Author: FGZ <https://metacpan.org/author/FGZ>

        I would personally pick a non-OO, no-nonsense interface based on
        File::Find, like: <br><br>use File::Find::Archive qw(find); # or
        find_archive <br> find(sub { ... }, &quot;some.tar.gz&quot;);
        <br><br>instead of the multiline, tedious setup just to search a
        file. <br>

    App::DBBrowser
        Author: KUERBIS <https://metacpan.org/author/KUERBIS>

        A nice, minimalistic, terminal-based user interface for browsing
        your database and tables. Might be useful for simple cases.
        <br><br>It would be *much* more useful if usernames/passwords,
        queries, and other settings can be saved in a config/session file.
        <br>

    Locale::Maketext
        Author: TODDR <https://metacpan.org/author/TODDR>

        Users might want to check out this article on why one should perhaps
        use Locale::TextDomain instead of Locale::Maketext: <a
        href="http://www.perladvent.org/2013/2013-12-09.html"
        rel="nofollow">www.perladvent.org/2013/2013-12-09.html</a>

README  view on Meta::CPAN

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

        Great idea! I've been bitten and annoyed by strictures on more than
        one occasion. It has its uses, but users should have a choice on how
        to react to warnings. <br>

    App::YTDL
        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, 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

README  view on Meta::CPAN


    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.
        And I don't/can't use it on every project. But it's certainly one of
        the easiest. You can slap a few lines of options declaration in your
        code and voila, your script suddenly can accept command line
        arguments, has --help message et al, read from config files (in
        several preset locations). <br><br>There are still a few annoyances
        (I submitted them in the RT), but in general, this is a very handy
        module to use for lazy coders who just want to accept
        configuration/options from outside the code. <br><br>&lt;shameless
        plug&gt;I'm trying to do somewhat the same with Config::Tree, but as
        of now the module is not really done yet.&lt;/shameless plug&gt;
        <br><br>UPDATE 2013-08-15: <br><br>I'm reducing the ratings from 5
        to 2. I've now avoided using this module due to two lingering issue
        since 2010: 1) App::Options does not accept '--opt val', only
        '--opt=val' which is incompatible with how most command-line
        programs work, causing confusion for some of my users. 2) 'perl -c'

README  view on Meta::CPAN

        effect. There's no error/warning for this mistake. <br><br>* Then,
        if one also forgets to import taint_start or taint_start, then doing
        'taint_start' or 'taint_env' (without parentheses) will do nothing.
        Also does not produce an error/warning except under strict mode.
        <br><br>* One must remember to 'taint_env' *after* 'taint_start'.
        There's no warning/error if one does the opposite. <br><br>I'd
        rather have something like this: <br><br>{ <br><br>use tainting;
        <br><br>... code is running in taint mode ... <br> } <br><br>use
        tainting; <br> { <br><br>no tainting; <br><br>... code is running
        without taint mode ... <br> } <br><br>No functions, no variables to
        set, no exports. Tainting of %ENV etc should be done automatically
        just like -T. <br><br>EDIT: I wrote tainting and uploaded it to CPAN
        as proof of concept.

        Rating: 8/10

    L   Author: SONGMU <https://metacpan.org/author/SONGMU>

        Reinvents Class::Autouse (written 12 years ago). But at least L is
        much simpler and shorter to type (the equivalent of -ML is
        -MClass::Autouse=:superloader). <br><br>BTW, there's also

README  view on Meta::CPAN

        Wow, just wow. Hopefully now that we can use this tool to know how
        big things are, we are encouraged to create leaner, faster, more
        efficient Perl modules.

    Oktest
        Author: KWATCH <https://metacpan.org/author/KWATCH>

        A reinvention of Perl testing modules (it even comes with an
        equivalent for 'prove' command), with probably no added features and
        some added quirks. (Nested) topic can already be done using
        Test::More's subtests. Filtering and setup/teardown can be done with
        Test::Class. And I am supposed to replace specific assertion
        functions (with specific, helpful error messages) like is(), isnt(),
        like(), is_deeply(), etc with just OK()? <br>

        Rating: 4/10

    HTML::Escape
        Author: TOKUHIROM <https://metacpan.org/author/TOKUHIROM>

        Still a bit slower than PHP's htmlspecialchars(), but in the same

README  view on Meta::CPAN

        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

README  view on Meta::CPAN

        together. So you want a polite Mechanize which does
        self-rate-limiting and uses the Firefox or IE engine? A subclass
        exists for each feature, but how do you use them together?
        WWW::Mechanize needs to be more role/plugin-oriented instead of
        inheritance-oriented. <br>

    Mail::Sendmail
        Author: NEILB <https://metacpan.org/author/NEILB>

        I used Mail::Sendmail and a few others &quot;older&quot; modules
        back from the days when it didn't support setting envelope sender
        different from RFC From, and when the test hung on some dead host.
        <br><br>If it's still working for you, great. I personally have
        moved on to other modules like Email::Sender::Simple, which
        abstracts sending mechanism (transport) and support SMTP auth, for
        two. Also, many of the guide/documentation for Mail::Sendmail are
        not quite up to date in style (though they still might work), for
        example the low level way of building HTML email. Also, the
        Changelog file doesn't seem to be maintained?

        Rating: 6/10

README  view on Meta::CPAN

        Rating: 6/10

    Config::IniFiles
        Author: SHLOMIF <https://metacpan.org/author/SHLOMIF>

        This module has been developed for more than a decade and seen
        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

devdata/stevenharyanto  view on Meta::CPAN

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    
    
    <link rel="shortcut icon" href="//cdn.perl.org/perlweb/favicon.ico" />

    <title>Reviews by Steven Haryanto - cpanratings.perl.org</title>

    

devdata/stevenharyanto  view on Meta::CPAN

   (<a href="https://metacpan.org/release/Archive-Probe/">0.85</a>)



</h3>



<blockquote class="review_text">
I would personally pick a non-OO, no-nonsense interface based on File::Find, like:
<br><br>use File::Find::Archive qw(find); # or find_archive
<br>
find(sub { ... }, &quot;some.tar.gz&quot;);
<br><br>instead of the multiline, tedious setup just to search a file.
<br>

</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-01-24T12:23:49
(<a href="/dist/Archive-Probe#11534">permalink</a>)
</p>

devdata/stevenharyanto  view on Meta::CPAN


   (<a href="https://metacpan.org/release/App-DBBrowser/">0.011</a>)



</h3>



<blockquote class="review_text">
A nice, minimalistic, terminal-based user interface for browsing your database and tables. Might be useful for simple cases.
<br><br>It would be *much* more useful if usernames/passwords, queries, and other settings can be saved in a config/session f...

</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-01-24T12:06:54
(<a href="/dist/App-DBBrowser#11532">permalink</a>)
</p>

devdata/stevenharyanto  view on Meta::CPAN


   (<a href="https://metacpan.org/release/App-YTDL/">0.004</a>)



</h3>



<blockquote class="review_text">
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...

</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-01-24T11:04:16
(<a href="/dist/App-YTDL#11524">permalink</a>)
</p>

devdata/stevenharyanto  view on Meta::CPAN




<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-2.0.png" alt="**">

</h3>



<blockquote class="review_text">
2010-10-13:
<br><br>I admit, this is not the most flexible configuration framework out there as it enforces some convention. And I don't/can't use it on every project. But it's certainly one of the easiest. You can slap a few lines of options declara...
</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2013-08-14T20:58:18
(<a href="/dist/App-Options#7770">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">
Nice idea. Perl should really have included something like this (analogous to warnings.pm for -w).
<br><br>However, for something as security-related as tainting, I personally think the interface is a bit too complex and not robust enough. There are ...
}
<br><br>use tainting;
<br>
{
<br><br>no tainting;
<br><br>... code is running without taint mode ...
<br>
}
<br><br>No functions, no variables to set, no exports. Tainting of %ENV etc should be done automatically just like -T.
<br><br>EDIT: I wrote tainting and uploaded it to CPAN as proof of concept.
</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2012-12-28T00:11:34
(<a href="/dist/Taint-Runtime#10699">permalink</a>)
</p>

<div class="helpfulq">

devdata/stevenharyanto  view on Meta::CPAN




<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-2.0.png" alt="**">

</h3>



<blockquote class="review_text">
A reinvention of Perl testing modules (it even comes with an equivalent for 'prove' command), with probably no added features and some added quirks. (Nested) topic can already be done using Test::More's subtests. Filtering and setup/teardown can be d...

</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2012-10-09T17:30:27
(<a href="/dist/Oktest#10426">permalink</a>)
</p>

devdata/stevenharyanto  view on Meta::CPAN


   (<a href="https://metacpan.org/release/Exporter-Lite/">0.02</a>)



</h3>



<blockquote class="review_text">
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 b...

</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2012-08-07T18:20:14
(<a href="/dist/Exporter-Lite#9242">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">
I used Mail::Sendmail and a few others &quot;older&quot; modules back from the days when it didn't support setting envelope sender different from RFC From, and when the test hung on some dead host.
<br><br>If it's still working for you, great. I pers...
</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2010-11-24T09:08:27
(<a href="/dist/Mail-Sendmail#7882">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">
This module has been developed for more than a decade and seen 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 do...
</blockquote>


<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2010-11-12T00:42:19
(<a href="/dist/Config-IniFiles#7830">permalink</a>)
</p>

<div class="helpfulq">

devdata/stevenharyanto  view on Meta::CPAN



<script type="text/javascript">
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-50555-8', 'auto');
  ga('require', 'linkid', 'linkid.js');
  ga('set', 'dimension1', window.location.protocol);
  ga('send', 'pageview');
</script>
<script type="text/javascript" src="//cdn.perl.org/perlweb/js/perlweb_bootstrap.min.js" charset="UTF-8"></script>
<script type="text/javascript" src="//cdn.perl.org/perlweb/common/jquery.cookie.js" charset="UTF-8"></script>
<script type="text/javascript" src="//cdn.perl.org/perlweb/cpanratings/cpanratings.js" charset="UTF-8"></script>



    
  </body>
</html>


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



=item L<Archive::Probe>

Author: L<FGZ|https://metacpan.org/author/FGZ>

I would personally pick a non-OO, no-nonsense interface based on File::Find, like:
<br><br>use File::Find::Archive qw(find); # or find_archive
<br>
find(sub { ... }, &quot;some.tar.gz&quot;);
<br><br>instead of the multiline, tedious setup just to search a file.
<br>


=item L<App::DBBrowser>

Author: L<KUERBIS|https://metacpan.org/author/KUERBIS>

A nice, minimalistic, terminal-based user interface for browsing your database and tables. Might be useful for simple cases.
<br><br>It would be I<much> more useful if usernames/passwords, queries, and other settings can be saved in a config/session file.
<br>


=item L<Locale::Maketext>

Author: L<TODDR|https://metacpan.org/author/TODDR>

Users might want to check out this article on why one should perhaps use Locale::TextDomain instead of Locale::Maketext: <a href="http://www.perladvent.org/2013/2013-12-09.html" rel="nofollow">www.perladvent.org/2013/2013-12-09.html</a>


lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

=item L<Moo::Lax>

Author: L<DAMS|https://metacpan.org/author/DAMS>

Great idea! I've been bitten and annoyed by strictures on more than one occasion. It has its uses, but users should have a choice on how to react to warnings.
<br>


=item L<App::YTDL>

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), &quot;\&quot; (produces invalid dump, does not handle backslash yet currently), 
<br><br>And Data::Dump's dump of {} and [] are currently more compact ;-)

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

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


Rating: 2/10

=item L<App::Options>

Author: L<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. And I don't/can't use it on every project. But it's certainly one of the easiest. You can slap a few lines of options declaration in your...
<br><br>There are still a few annoyances (I submitted them in the RT), but in general, this is a very handy module to use for lazy coders who just want to accept configuration/options from outside the code.
<br><br>&lt;shameless plug&gt;I'm trying to do somewhat the same with Config::Tree, but as of now the module is not really done yet.&lt;/shameless plug&gt;
<br><br>UPDATE 2013-08-15:
<br><br>I'm reducing the ratings from 5 to 2. I've now avoided using this module due to two lingering issue since 2010: 1) App::Options does not accept '--opt val', only '--opt=val' which is incompatible with how most command-line programs work, caus...
<br><br>I'm now using Perinci::CmdLine as replacement, but I cannot recommend it in general, as the two modules are not equivalent.


Rating: 4/10

=item L<Filesys::Notify::Simple>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

<br><br>... code is running in taint mode ...
<br>
}
<br><br>use tainting;
<br>
{
<br><br>no tainting;
<br><br>... code is running without taint mode ...
<br>
}
<br><br>No functions, no variables to set, no exports. Tainting of %ENV etc should be done automatically just like -T.
<br><br>EDIT: I wrote tainting and uploaded it to CPAN as proof of concept.


Rating: 8/10

=item L<L>

Author: L<SONGMU|https://metacpan.org/author/SONGMU>

Reinvents Class::Autouse (written 12 years ago). But at least L is much simpler and shorter to type (the equivalent of -ML is -MClass::Autouse=:superloader).

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


Author: L<TIMB|https://metacpan.org/author/TIMB>

Wow, just wow. Hopefully now that we can use this tool to know how big things are, we are encouraged to create leaner, faster, more efficient Perl modules.


=item L<Oktest>

Author: L<KWATCH|https://metacpan.org/author/KWATCH>

A reinvention of Perl testing modules (it even comes with an equivalent for 'prove' command), with probably no added features and some added quirks. (Nested) topic can already be done using Test::More's subtests. Filtering and setup/teardown can be d...
<br>


Rating: 4/10

=item L<HTML::Escape>

Author: L<TOKUHIROM|https://metacpan.org/author/TOKUHIROM>

Still a bit slower than PHP's htmlspecialchars(), but in the same ballpark. An order of magnitude faster than HTML::Entities. Does not provide unescaping, but it's okay since escaping is the majority of use cases.

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

<br>


Rating: 6/10

=item L<Exporter::Lite>

Author: L<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>


=item L<YAML::Syck>

Author: L<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.

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

Author: L<SIMBABQUE|https://metacpan.org/author/SIMBABQUE>

WWW::Mechanize is of course one of the indispensable tools for any web programmer or admin. The current problem is the proliferation of 3rd party subclasses, the functionalities of which cannot be used together. So you want a polite Mechanize which d...
<br>


=item L<Mail::Sendmail>

Author: L<NEILB|https://metacpan.org/author/NEILB>

I used Mail::Sendmail and a few others &quot;older&quot; modules back from the days when it didn't support setting envelope sender different from RFC From, and when the test hung on some dead host.
<br><br>If it's still working for you, great. I personally have moved on to other modules like Email::Sender::Simple, which abstracts sending mechanism (transport) and support SMTP auth, for two. Also, many of the guide/documentation for Mail::Sendma...


Rating: 6/10

=item L<autodie>

Author: L<TODDR|https://metacpan.org/author/TODDR>

I started using autodie in almost all of my applications a few months ago. It's somewhat of a mixed blessing. For existing applications, it can break things and making things less robust, solely because old code are not built with autodie in mind.

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

<br><br>Btw regarding custom levels, this practice is long deprecated by log4j (and thus also by Log4perl, although Log4perl can do custom levels). I can understand this decision as I sometimes already have trouble managing the popular convention of ...


Rating: 6/10

=item L<Config::IniFiles>

Author: L<SHLOMIF|https://metacpan.org/author/SHLOMIF>

This module has been developed for more than a decade and seen 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 ...
<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

=item L<DateTime>

Author: L<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!).

t/author-critic.t  view on Meta::CPAN

  unless ($ENV{AUTHOR_TESTING}) {
    print qq{1..0 # SKIP these tests are for testing by the author\n};
    exit
  }
}


use strict;
use warnings;

# this test was generated with Dist::Zilla::Plugin::Test::Perl::Critic::Subset 3.001.006

use Test::Perl::Critic (-profile => "") x!! -e "";

my $filenames = ['lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm'];
unless ($filenames && @$filenames) {
    $filenames = -d "blib" ? ["blib"] : ["lib"];
}

all_critic_ok(@$filenames);



( run in 1.502 second using v1.01-cache-2.11-cpan-49f99fa48dc )