view release on metacpan or search on metacpan
"Clone::PP" : "0",
"Config::IniFiles" : "0",
"Curses::Toolkit" : "0",
"DZ1" : "0",
"Data::Clone" : "0",
"Data::CompactDump" : "0",
"Data::Compare" : "0",
"Data::Dumper::Sorted" : "0",
"Data::Pond" : "0",
"Data::Properties::JSON" : "0",
"Data::Rmap" : "0",
"Data::Seek" : "0",
"Data::Structure::Util" : "0",
"Date::Manip" : "0",
"Date::Tie" : "0",
"DateTime" : "0",
"DateTime::BusinessHours" : "0",
"DateTime::Format::Flexible" : "0",
"DateTime::Format::Natural" : "0",
"Debug::LTrace" : "0",
"Debug::Trace" : "0",
"Clone::PP" : "0",
"Config::IniFiles" : "0",
"Curses::Toolkit" : "0",
"DZ1" : "0",
"Data::Clone" : "0",
"Data::CompactDump" : "0",
"Data::Compare" : "0",
"Data::Dumper::Sorted" : "0",
"Data::Pond" : "0",
"Data::Properties::JSON" : "0",
"Data::Rmap" : "0",
"Data::Seek" : "0",
"Data::Structure::Util" : "0",
"Date::Manip" : "0",
"Date::Tie" : "0",
"DateTime" : "0",
"DateTime::BusinessHours" : "0",
"DateTime::Format::Flexible" : "0",
"DateTime::Format::Natural" : "0",
"Debug::LTrace" : "0",
"Debug::Trace" : "0",
Nice idea. Some notes: 1) to be widely used, it really needs to be
very efficient; 2) if the goal is simply to objectify a hash,
perhaps Hash::Objectify or Object::From::Hash or Hash::To::Object
(or Data::Objectify and so on) is a more descriptive name. <br>
Data::Seek
The "extremely fast and efficient" claim currently doesn't
hold, as this module creates a *whole* flattened tree for *every*
search operation. <br><br>A simple benchmark: <br><br>### <br> use
Benchmark qw(timethese); <br> use Data::Seek; <br> use Data::DPath
qw(dpath); <br> use JSON::Path; <br><br>my $data = { map { $_ =>
{map {$*=>[1..4]} 1..20} } "a".."z" };
<br><br>timethese(-0.25, { <br><br>dseek => sub { $ds =
Data::Seek->new(data=>$data);
$ds->search("j.1.\@")->data },
<br><br>dseek*cacheobj=>sub{ state
$ds=Data::Seek->new(data=>$data);
$ds->search("j.1.\@")->data },
<br><br>dpath=>sub{ dpath("/j/1/*")->match($data) },
<br><br>jpath=>sub{
JSON::Path->new(q[$.j.1.[*]])->values($data) }, <br> }); <br>
=head2 #
just for a single feature (autodumping). <br><br>An alternative is
to use Log::Any, which also features autodumping (via
$log->debugf("%s", $complex), $log->warnf(), and
friends), while still allowing you to use Log4perl and other
frameworks supported by Log::Any. <br><br>
List::Pairwise
Author: TDRUGEON <https://metacpan.org/author/TDRUGEON>
Two nice and possibly very useful functions. But IMO the names
'mapp' and 'grepp' are two similar to 'map' and 'grep', making it
prone to typos and misreading. Perhaps consider 'map2' and 'grep2'?
Log::Log4perl::Appender::File::FixedSize
Author: HOREA <https://metacpan.org/author/HOREA>
Module name should perhaps be
Log::Log4perl::Appender::File::RoundRobin to make it clearer that
the backend is File::RoundRobin. <br>
Any::Mo
Why exclude Moo? <br><br>Also the issue with any Any::* (or Any::*)
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
"clean" 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 "providing convenient chained method access to
Rating: 8/10
File::MMagic::XS
Author: DMAKI <https://metacpan.org/author/DMAKI>
Last time I checked, still can't parse system magic database, e.g.
/usr/share/file/magic (bug first filed in RT 4 years ago).
<br><br>The currently recommended module in this area seems to be
File::LibMagic. Other alternatives include File::MMagic (slow and
buggy, no longer maintained), Media::Type::Simple (only maps MIME
type from/to file extension).
Rating: 4/10
File::MMagic
Author: KNOK <https://metacpan.org/author/KNOK>
Works for basic usage, but has quite a few problems. Plus it is not
very performant. Doesn't seem to be maintained anymore. <br><br>The
currently recommended module in this area seems to be
File::LibMagic. Other alternatives include File::Type (gives less
useful results), File::MMagic::XS (also not actively maintained?
long standing bugs like failure to parse system magic file still
persists), Media::Type::Simple (only maps MIME type from/to file
extension). <br>
Rating: 4/10
File::Type
Author: PMISON <https://metacpan.org/author/PMISON>
As another reviewer has said, this module tends to conclude
"application/octet-stream" for many kinds of files, making
it not very useful. <br><br>The currently recommended module in this
area seems to be File::LibMagic. Other alternatives include
File::MMagic (slow, has quite a few bugs, no longer maintained),
File::MMagic::XS (also not actively maintained? long standing bug
like failure to parse system magic file still persists),
Media::Type::Simple (only maps MIME type from/to file extension).
<br>
Rating: 2/10
Time::Mock
Author: EWILHELM <https://metacpan.org/author/EWILHELM>
Balancing previous 1 rating by @Ingo. <br><br>To Ingo: You said
module's documentation is okay, one feature you use works okay, and
other features you don't use. Why only 1 star then? <br><br>This
devdata/stevenharyanto view on Meta::CPAN
</h3>
<blockquote class="review_text">
The "extremely fast and efficient" claim currently doesn't hold, as this module creates a *whole* flattened tree for *every* search operation.
<br><br>A simple benchmark:
<br><br>###
<br>
use Benchmark qw(timethese);
<br>
use Data::Seek;
<br>
use Data::DPath qw(dpath);
<br>
use JSON::Path;
<br><br>my $data = { map { $_ => {map {$_=>[1..4]} 1..20} } "a".."z" };
<br><br>timethese(-0.25, {
<br><br>dseek => sub { $ds = Data::Seek->new(data=>$data); $ds->search("j.1.\@")->da...
});
<br>
###
<br><br>###
<br>
Benchmark: running dpath, dseek, dseek_cacheobj, jpath for at least 0.25 CPU seconds...
<br><br>dpath: 1 wallclock secs ( 0.27 usr + 0.00 sys = 0.27 CPU) @ 8292.59/s (n=2239)
<br><br>(warning: too few iterations for a reliable count)
<br><br>dseek...
dseek_cacheobj: 0 wallclock secs ( 0.33 usr + 0.00 sys = 0.33 CPU) @ 42.42/s (n=14)
<br><br>(warning: too few iterations for a reliable count)
<br><br>jpath: 0 wallclock secs ( 0.27 usr + 0.00 sys = 0.27 CPU) @ 11711.11/s (n=3162)
<br><br>(warn...
###
<br><br>Also: 1) the syntax is rather inconsistent: ':n' for array index access, but '.@' (instead of ':@') for grabbing all elements. 2) currently cannot select subtree (must always select leaf node).
<br><br>As alternatives, I recommend the muc...
</blockquote>
<div class="review_footer">
devdata/stevenharyanto view on Meta::CPAN
(<a href="https://metacpan.org/release/List-Pairwise/">1.00</a>)
</h3>
<blockquote class="review_text">
Two nice and possibly very useful functions. But IMO the names 'mapp' and 'grepp' are two similar to 'map' and 'grep', making it prone to typos and misreading. Perhaps consider 'map2' and 'grep2'?
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2012-03-29T17:18:00
(<a href="/dist/List-Pairwise#9782">permalink</a>)
</p>
<div class="helpfulq">
devdata/stevenharyanto view on Meta::CPAN
</div>
<div class="review" data-review="9488" data-user="10616">
<a name="9488"></a>
<h3 class="review_header">
<a href="/dist/Data-Rmap">
Data-Rmap</a>
(<a href="https://metacpan.org/release/Data-Rmap/">0.62</a>)
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-5.0.png" alt="*****">
</h3>
<blockquote class="review_text">
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 t...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2011-12-29T17:47:24
(<a href="/dist/Data-Rmap#9488">permalink</a>)
</p>
<div class="helpfulq">
2 out of 2 found this review helpful.
Was this review helpful to you?
<!-- we should add non-js links to rate stuff helpful/not helpful too... -->
devdata/stevenharyanto view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-2.0.png" alt="**">
</h3>
<blockquote class="review_text">
Last time I checked, still can't parse system magic database, e.g. /usr/share/file/magic (bug first filed in RT 4 years ago).
<br><br>The currently recommended module in this area seems to be File::LibMagic. Other alternatives include File::MMagic (s...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2011-06-15T02:55:05
(<a href="/dist/File-MMagic-XS#8638">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">
Works for basic usage, but has quite a few problems. Plus it is not very performant. Doesn't seem to be maintained anymore.
<br><br>The currently recommended module in this area seems to be File::LibMagic. Other alternatives include File::Type (gives...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2011-06-15T02:52:19
(<a href="/dist/File-MMagic#8636">permalink</a>)
</p>
devdata/stevenharyanto view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-1.0.png" alt="*">
</h3>
<blockquote class="review_text">
As another reviewer has said, this module tends to conclude "application/octet-stream" for many kinds of files, making it not very useful.
<br><br>The currently recommended module in this area seems to be File::LibMagic. Other alternatives ...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2011-06-15T02:35:28
(<a href="/dist/File-Type#8634">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
<br><br>A simple benchmark:
<br><br>###
<br>
use Benchmark qw(timethese);
<br>
use Data::Seek;
<br>
use Data::DPath qw(dpath);
<br>
use JSON::Path;
<br><br>my $data = { map { $_ => {map {$I<< =>[1..4]} 1..20} } "a".."z" };
<br><br>timethese(-0.25, {
<br><br>dseek => sub { $ds = Data::Seek->new(data=>$data); $ds->search("j.1.\@")->data },
<br><br>dseek >>cacheobj=>sub{ state $ds=Data::Seek->new(data=>$data); $ds->search("j.1.\@")->data },
<br><br>dpath=>sub{ dpath("/j/1/I<< ")->match($data) },
<br><br>jpath=>sub{ JSON::Path->new(q[$.j.1.[ >>]])->values($data) },
<br>
});
<br>
=head2 #
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
This module is simple and to the point. Unfortunately, if you're a user of Log4perl or other logging framework, you'll have to switch just for a single feature (autodumping).
<br><br>An alternative is to use Log::Any, which also features autodumping (via $log->debugf("%s", $complex), $log->warnf(), and friends), while still allowing you to use Log4perl and other frameworks supported by Log::Any.
<br><br>
=item L<List::Pairwise>
Author: L<TDRUGEON|https://metacpan.org/author/TDRUGEON>
Two nice and possibly very useful functions. But IMO the names 'mapp' and 'grepp' are two similar to 'map' and 'grep', making it prone to typos and misreading. Perhaps consider 'map2' and 'grep2'?
=item L<Log::Log4perl::Appender::File::FixedSize>
Author: L<HOREA|https://metacpan.org/author/HOREA>
Module name should perhaps be Log::Log4perl::Appender::File::RoundRobin to make it clearer that the backend is File::RoundRobin.
<br>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
<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>
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 t...
<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 ob...
<br>
=item L<Data::Properties::JSON>
Author: L<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 "providing convenient chained method access to hierarchical data" should be refactored out. So perhaps Data::Properties::{JSON,YAML,...} should just be a convenient shortcut for {JSO...
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
<br><br>For those stuck without a C compiler, File::Type or File::Magic can be an alternative.
Rating: 8/10
=item L<File::MMagic::XS>
Author: L<DMAKI|https://metacpan.org/author/DMAKI>
Last time I checked, still can't parse system magic database, e.g. /usr/share/file/magic (bug first filed in RT 4 years ago).
<br><br>The currently recommended module in this area seems to be File::LibMagic. Other alternatives include File::MMagic (slow and buggy, no longer maintained), Media::Type::Simple (only maps MIME type from/to file extension).
Rating: 4/10
=item L<File::MMagic>
Author: L<KNOK|https://metacpan.org/author/KNOK>
Works for basic usage, but has quite a few problems. Plus it is not very performant. Doesn't seem to be maintained anymore.
<br><br>The currently recommended module in this area seems to be File::LibMagic. Other alternatives include File::Type (gives less useful results), File::MMagic::XS (also not actively maintained? long standing bugs like failure to parse system magic...
<br>
Rating: 4/10
=item L<File::Type>
Author: L<PMISON|https://metacpan.org/author/PMISON>
As another reviewer has said, this module tends to conclude "application/octet-stream" for many kinds of files, making it not very useful.
<br><br>The currently recommended module in this area seems to be File::LibMagic. Other alternatives include File::MMagic (slow, has quite a few bugs, no longer maintained), File::MMagic::XS (also not actively maintained? long standing bug like failu...
<br>
Rating: 2/10
=item L<Time::Mock>
Author: L<EWILHELM|https://metacpan.org/author/EWILHELM>
Balancing previous 1 rating by @Ingo.
t/00-compile.t view on Meta::CPAN
use IO::Handle;
open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
my @warnings;
for my $lib (@module_files)
{
# see L<perlfaq8/How can I capture STDERR from an external command?>
my $stderr = IO::Handle->new;
diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} }
$^X, @switches, '-e', "require q[$lib]"))
if $ENV{PERL_COMPILE_TEST_DEBUG};
my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]");
binmode $stderr, ':crlf' if $^O eq 'MSWin32';
my @_warnings = <$stderr>;
waitpid($pid, 0);
is($?, 0, "$lib loaded ok");
shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/