view release on metacpan or search on metacpan
<br><br>dseek: 1 wallclock secs ( 0.29 usr + 0.00 sys = 0.29 CPU) @
37.93/s (n=11) <br><br>(warning: too few iterations for a reliable
count) <br> 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>(warning: too few
iterations for a reliable count) <br> =head2 #
<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 much simpler JSON::Path, or
the more powerful Data::DPath. <br>
Games::2048
Author: BLAIZER <https://metacpan.org/author/BLAIZER>
My favorite 2048 implementation (it's text-mode, written in Perl,
uses my module Color::ANSI::Util, and what else... oh yeah, it's the
only implementation where I've reached 2048 :-) ). <br><br>One tip:
enlarge the fonts of your terminal emulator (e.g. Ctrl-+ on Konsole)
module lets you do them in C. <br>
Fsdb
Author: JOHNH <https://metacpan.org/author/JOHNH>
An interesting tool that has been developed since 1991 (which is
roughly around the time the WWW and Linux was born, whew). Kudos to
the author for the dedication and consistency. <br><br>Since
nowadays SQL is pretty much ubiquitous, users might also want to
check out an alternative tool, App::fsql. For example (taking a
similar example from the module's doc), to select entries in
/etc/passwd where UID is between 1000 and 2000: <br><br>$ ( echo -e
"login\tpassword\tuid\tgid\tgecos\thome\tshell"; sed
's/:/\t/g' /etc/passwd ) | fsql --add-tsv - 'SELECT * FROM stdin
WHERE uid >= 1000 AND uid <= 2000' --format text --aoh
Date::Tie
Author: FGLOCK <https://metacpan.org/author/FGLOCK>
Cool, but personally I'd rather have something like JavaScript's
properties (since Perl does have lvalue subroutine support):
CPAN::Mini POD).
Win32::App::which
Author: DOLMEN <https://metacpan.org/author/DOLMEN>
I don't use this module since I'm not on Windows. But why another
module? File::Which also handles Win32 (probably not the "the
current directory is explored before PATH" thing, but you
should consider submitting a patch). <br><br>At least the
documentation should state why this module is necessary. It
complicates scripts by having to select between two 'which'
implementations.
Devel::Platform::Info
Author: BARBIE <https://metacpan.org/author/BARBIE>
I knew CPAN wouldn't let me down. Now I can discard my own
OS/platform detecting code (which probably is buggier and not nearly
as extensive) and rely on Devel::Platform::Info instead.
<br><br>Devel::Platform::Info gives information not only about the
OS but also architecture, kernel type & version, etc. In my case
SHARYANTO::YAML::Any
Re: Blue. I guess I shouldn't release this. I need something quick
to fix our application, so this is not really something meant for
public use. Will be purging this from PAUSE. <br>
SQL::Easy
Author: BESSARABV <https://metacpan.org/author/BESSARABV>
IIRC, there has also previous similar attempt like this. Modules
like these are not necessary, as DBI already has something
equivalent (and even better): selectrow_{array,hashref,arrayref} and
selectall_{array,hash}ref. <br>
Rating: 2/10
CGI::Struct
Author: FULLERMD <https://metacpan.org/author/FULLERMD>
Cool, will definitely try this out the next time I write another
form processing CGI script. Although the module is named CGI::,
there's nothing CGI-specific about it, and that's good. So this
module is basically a "path-expander" for hash values.
devdata/stevenharyanto view on Meta::CPAN
<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">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-08-10T04:37:01
(<a href="/dist/Data-Seek#11870">permalink</a>)
</p>
devdata/stevenharyanto view on Meta::CPAN
(<a href="https://metacpan.org/release/Fsdb/">2.50</a>)
</h3>
<blockquote class="review_text">
An interesting tool that has been developed since 1991 (which is roughly around the time the WWW and Linux was born, whew). Kudos to the author for the dedication and consistency.
<br><br>Since nowadays SQL is pretty much ubiquitous, users might also...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-05-27T23:08:36
(<a href="/dist/Fsdb#11762">permalink</a>)
</p>
<div class="helpfulq">
devdata/stevenharyanto view on Meta::CPAN
(<a href="https://metacpan.org/release/Win32-App-which/">1.02</a>)
</h3>
<blockquote class="review_text">
I don't use this module since I'm not on Windows. But why another module? File::Which also handles Win32 (probably not the "the current directory is explored before PATH" thing, but you should consider submitting a patch).
<br><br>At least ...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2011-11-03T19:11:05
(<a href="/dist/Win32-App-which#9320">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">
IIRC, there has also previous similar attempt like this. Modules like these are not necessary, as DBI already has something equivalent (and even better): selectrow_{array,hashref,arrayref} and selectall_{array,hash}ref.
<br>
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2010-12-04T08:23:07
(<a href="/dist/SQL-Easy#7930">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>dseek: 1 wallclock secs ( 0.29 usr + 0.00 sys = 0.29 CPU) @ 37.93/s (n=11)
<br><br>(warning: too few iterations for a reliable count)
<br>
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>(warning: too few iterations for a reliable count)
<br>
=head2 #
<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 much simpler JSON::Path, or the more powerful Data::DPath.
<br>
=item L<Games::2048>
Author: L<BLAIZER|https://metacpan.org/author/BLAIZER>
My favorite 2048 implementation (it's text-mode, written in Perl, uses my module Color::ANSI::Util, and what else... oh yeah, it's the only implementation where I've reached 2048 :-) ).
<br><br>One tip: enlarge the fonts of your terminal emulator (e.g. Ctrl-+ on Konsole) until it's big and convenient enough.
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
@Tom Browder: If you just need unblessing, there's also another module Acme::Damn which is more minimalist. You can also create a shallow copy to unbless a reference, if you want to do it without the help of any module (Both Acme::Damn and Data::Stru...
<br><br>Re Data::Structure::Util: nifty module that provides speedy alternative for several things like checking for circular references, weaken them, unblessing a reference, etc. You can do many of the routines in pure Perl. This module lets you do ...
<br>
=item L<Fsdb>
Author: L<JOHNH|https://metacpan.org/author/JOHNH>
An interesting tool that has been developed since 1991 (which is roughly around the time the WWW and Linux was born, whew). Kudos to the author for the dedication and consistency.
<br><br>Since nowadays SQL is pretty much ubiquitous, users might also want to check out an alternative tool, App::fsql. For example (taking a similar example from the module's doc), to select entries in /etc/passwd where UID is between 1000 and 2000...
<br><br>$ ( echo -e "login\tpassword\tuid\tgid\tgecos\thome\tshell"; sed 's/:/\t/g' /etc/passwd ) | fsql --add-tsv - 'SELECT * FROM stdin WHERE uid >= 1000 AND uid <= 2000' --format text --aoh
=item L<Date::Tie>
Author: L<FGLOCK|https://metacpan.org/author/FGLOCK>
Cool, but personally I'd rather have something like JavaScript's properties (since Perl does have lvalue subroutine support):
<br><br>$date->year = 2014;
<br>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
Author: L<MITHALDU|https://metacpan.org/author/MITHALDU>
Just found out about it, despite having used CPAN::Mini for over a year. Helps I<a lot>. More people should know this (e.g. mention from CPAN::Mini POD).
=item L<Win32::App::which>
Author: L<DOLMEN|https://metacpan.org/author/DOLMEN>
I don't use this module since I'm not on Windows. But why another module? File::Which also handles Win32 (probably not the "the current directory is explored before PATH" thing, but you should consider submitting a patch).
<br><br>At least the documentation should state why this module is necessary. It complicates scripts by having to select between two 'which' implementations.
=item L<Devel::Platform::Info>
Author: L<BARBIE|https://metacpan.org/author/BARBIE>
I knew CPAN wouldn't let me down. Now I can discard my own OS/platform detecting code (which probably is buggier and not nearly as extensive) and rely on Devel::Platform::Info instead.
<br><br>Devel::Platform::Info gives information not only about the OS but also architecture, kernel type & version, etc. In my case I need to detect distro name, its version, and its codename. All of those are provided.
<br><br>This module is so new though (started in 2010) so I wonder whether this need has never come up before.
<br>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
=item L<SHARYANTO::YAML::Any>
Re: Blue. I guess I shouldn't release this. I need something quick to fix our application, so this is not really something meant for public use. Will be purging this from PAUSE.
<br>
=item L<SQL::Easy>
Author: L<BESSARABV|https://metacpan.org/author/BESSARABV>
IIRC, there has also previous similar attempt like this. Modules like these are not necessary, as DBI already has something equivalent (and even better): selectrow_{array,hashref,arrayref} and selectall_{array,hash}ref.
<br>
Rating: 2/10
=item L<CGI::Struct>
Author: L<FULLERMD|https://metacpan.org/author/FULLERMD>
Cool, will definitely try this out the next time I write another form processing CGI script. Although the module is named CGI::, there's nothing CGI-specific about it, and that's good. So this module is basically a "path-expander" for hash ...