Acme-CPANModules-Import-CPANRatings-User-stevenharyanto
view release on metacpan or search on metacpan
curmon, curmon+1 <br> ' <br><br>
Getopt::Long
Author: JV <https://metacpan.org/author/JV>
Having worked for quite some time with option processing and several
other similar modules, I have to say that most of the time you
probably want to use Getopt::Long instead of the other alternatives.
Or at least pick the alternatives which are based on Getopt::Long,
instead of those that reinvent the wheel and do their own option
parsing. <br><br>Most other modules that reinvent option parsing
either don't bother to do short option bundling (-abc instead of -a
-b -c), or abbreviation (--long-o instead --long-option-name), or
the choice to (dis)allow mix-mashing options and arguments, or
support '--' to end option processing, or respect ordering, or
support multiple options (--verbose --verbose), or support
'--foo=val' *as well as* '--foo val', and so on. These are features
and conveniences that are taken for granted by people working daily
in Unix command-line. <br>
Text::Table::Tiny
Author: NEILB <https://metacpan.org/author/NEILB>
Very fast, several times faster than Text::TabularDisplay or
Text::Table (and many times faster than the other slower
table-generator modules). It uses sprintf() to format a whole row
instead of formatting each cell separately using sprintf() and
joining cells together with join(). <br><br>I did a comparison in:
<a
href="http://blogs.perl.org/users/steven_haryanto/2014/07/benchmarki
ng-several-ascii-table-generator-modules.html"
rel="nofollow">blogs.perl.org/users/steven_haryanto/...</a>
Mo Author: TINITA <https://metacpan.org/author/TINITA>
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 single line of
+-500 characters, and it's inlinable. It loads in under 1ms. If a
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>
App::whatthecommit
Author: MUDLER <https://metacpan.org/author/MUDLER>
From the description: "App::whatthecommit is just another
lazy-to-lazy line command utility." I'd thought the definition
of laziness would be something like 'alias gc=git commit
--allow-empty-message'. This is more like hubris. Or whatever. :)
<br>
Opt::Imistic
Author: ALTREUS <https://metacpan.org/author/ALTREUS>
Very nifty for short scripts and some clever design inside (all
options are stored as arrayref, but there is some overloading to
make getting boolean/flag and normal scalar value convenient).
<br><br>For more "proper" scripts though (anything above
say 20-30 lines) I'd recommend using something like Getopt::Long
with a real spec. Some of the features I like in G::L not in
Opt::Imistic: the ability to get --noOPT for free for flag options,
the ability to configure permute/no_permute (mix mashing options
with arguments), some data validation, and of course:
autoabbreviation of long option names, which requires a spec after
all.
Devel::STrace
Author: DARNOLD <https://metacpan.org/author/DARNOLD>
The doc looks promising, it really looks like it could be the
"strace for Perl functions", but the usage is awkward (you
have to open two terminals, one for running your program and
producing trace file, and another for reading this file). And I'm
probably an idiot, but I can't get this module to work for me.
<br><br>One alternative if you're looking for a similar module is
Debug::LTrace. <br><br>
Devel::TraceSubs
Author: PARTICLE <https://metacpan.org/author/PARTICLE>
For an alternative, try Debug::LTrace, which roughly provides the
same basic feature but is more convenient to use from the
command-line and give extra information like timing. <br><br>
Devel::TraceCalls
Author: COSIMO <https://metacpan.org/author/COSIMO>
Might be powerful and flexible, but not convenient to use especially
from command-line. (I was searching for something like "strace
for Perl function"). <br>
Debug::LTrace
Author: KOORCHIK <https://metacpan.org/author/KOORCHIK>
One of the more convenient and usable subroutine tracing modules on
CPAN. If you're looking for something like "strace for Perl
functions", try this. <br>
Debug::Trace
Author: JV <https://metacpan.org/author/JV>
Good module, but try its derivative Debug::LTrace instead.
Debug::Trace doesn't fake caller() yet so traced/wrapped subroutines
get caller() results that are "off-by-1" (see
Hook::LexWrap). Plus, Debug::LTrace gives more information like
timing. <br><br>
App::Trace
Author: SPADKINS <https://metacpan.org/author/SPADKINS>
The name and abstract is slightly inaccurate/misleading. This module
is supposed to be a general logging framework instead of just
subroutine entry/exit tracer. For alternative subroutine tracer, I'd
recommend Devel::TraceSubs or Devel::TraceCalls (or even
Devel::Trace + variants). <br><br>Not very convenient to use. It
still requires you to put 'if $App::Trace' clause everytime. For
general logging that can be switched on/off upon runtime, I'd
recommend using Log::Any instead. <br><br>Lastly, this module is
tied to App::Options and thus only really usable if you use both.
Tie::Hash::Identity
Author: CINDY <https://metacpan.org/author/CINDY>
Hash::Identity has a use case of convenience when embedding
expression in double-quote strings. I fail to see the point of
Tie::Hash::Identity though. Can't you just say: <br><br>'abc' eq
'abc'; # true <br><br>(1+2+3) eq '6'; # true <br>
Hash::Identity
Author: CINDY <https://metacpan.org/author/CINDY>
Author: ROUZIER <https://metacpan.org/author/ROUZIER>
Please consider a simpler non-OO interface instead, a la
File::chdir: <br><br>use File::Umask; # or whatever, the
"Local" thing is redundant <br> { <br><br>local $UMASK =
0077; <br><br>open(...); <br><br>copy(...); <br> } <br> =head1
previous umask is restored
<br><br>which is arguably better (to me at least) than the current:
<br><br>use Umask::Local; <br> { <br><br>my $umask_local =
Umask::Local->new(0077); <br><br>open(...); <br><br>copy(...);
<br> } <br> =head1 previous umask is restored
<br>
Proc::PidUtil
Author: MIKER <https://metacpan.org/author/MIKER>
No file locking is currently done to the PID file to avoid race
condition. Look at Proc::PID::File for a more proper implementation.
<br><br>
Data::Dumper::Sorted
Author: MIKER <https://metacpan.org/author/MIKER>
Unnecessary. Data::Dumper does have the option to sort hash keys
($Sortkeys, look for 'sort' in 'perldoc Data::Dumper'). <br><br>This
module also does not handle circular refs yet (and probably lacks
other features of Data::Dumper too). <br><br>Also the choice of
returning error ("$Var00 = not a reference" 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 { ... }, "some.tar.gz");
<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>
Curses::Toolkit
Nice effort, but one might also want to look at Tickit, which is not
curses-based and looks more promising. Being based on Curses, this
module still suffers from the many bugs and limitations of curses.
The lack of Shift-Tab support, for one. <br><br>See also: <a
href="http://www.perlmonks.org/?node_id=1059926"
rel="nofollow">www.perlmonks.org/?node_id=1059926</a> <br><br>As I
explore doing TUI more, I will update the reviews. <br>
Moo::Lax
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
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
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 ("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
Is there a specific goal for using a tied hash (since there is
already %INC)?
Promises
Author: YANICK <https://metacpan.org/author/YANICK>
5-star for its documentation. <br>
Lingua::ITA::Numbers
Author: PETAMEM <https://metacpan.org/author/PETAMEM>
Does the author care to explain the sudden influx of
Lingua::<3-letter-code>:: modules (which look like mostly just
repackaging of their corresponding Lingua::<2-letter-code>::
modules with no mention of purpose in the PODs)? The original
modules are not orphaned either (for example, I still maintain
Lingua::ID::*). <br><br>No Changes file. Versioning synchronized for
all 3-letter modules with no indication of what version of the
2-letter-code module is used. For example, Lingua::ITA::Numbers' doc
still says "decimals don't work properly", while
Lingua::IT::Numbers' doesn't (however, needless use of
Regexp::Common does gets removed).
HTTP::Headers::Patch::DontUseStorable
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
@zaxon: I'm not sure if it's a bug with HTTP::Headers, more like a
workaround for Storable. See the FAQ in the updated v0.03 for more
details. <br>
Storable
Author: NWCLARK <https://metacpan.org/author/NWCLARK>
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
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";
<br><br>Though I understand the need for a convenient
"is_zero" function if you need to test for zero in a
program a lot.
Syntax::SourceHighlight
Author: MATLIB <https://metacpan.org/author/MATLIB>
IMO, currently the only usable (read: non-crap) code syntax
highlighting library on CPAN. Cons: you'll need to install GNU
Source-highlight (and its development library/header) which pulls
over 100MB of packages on my Debian. <br>
Rating: 8/10
Syntax::Highlight::Engine::Kate
Author: MANWAR <https://metacpan.org/author/MANWAR>
Highlighter engine doesn't seem updated (for example, defined-or is
not yet interpreted correctly by this module but already correctly
by Kate itself). Does not provide default theme (must specify all
colors). Seem to be very slow (takes 1.5s for a 18K Perl .pm file
while Pygments only takes 0.2s). <br><br>
Rating: 2/10
Syntax::Highlight::JSON
Author: MART <https://metacpan.org/author/MART>
No documentation. Combines formatting and syntax-highlighting, so
you cannot preserve original formatting. Only outputs to HTML and no
default "theme" (CSS) provided. <br>
Rating: 2/10
Syntax::Highlight::Engine::Simple
Author: AKHUETTEL <https://metacpan.org/author/AKHUETTEL>
Output looks decent. However, it currently only formats to HTML/CSS
(no ANSI, LaTeX, etc). Also, it needs more languages support. <br>
Rating: 6/10
Syntax::Highlight::Universal
Author: PALANT <https://metacpan.org/author/PALANT>
Only targets (X)HTML (i.e. no alternative output like ANSI or
LaTeX). Supposedly slow. But it doesn't matter because code no
longer builds (last updated in 2005).
Rating: 2/10
text::highlight
Outdated (no longer updated), poor capability (even for some simple
Perl code, the output is atrocious), few languages supported. A far
cry from Pygments or coderay.
Rating: 2/10
SemVer
Author: DWHEELER <https://metacpan.org/author/DWHEELER>
Good for semantic versioning scheme like 1.2.3 vs 1.2.3alpha vs
1.2.3rc (1.2.3 should be the latest, not the alpha or rc). However,
does not accept e.g. 1.0beta (at least three components are needed).
Perhaps relax this requirement? <br><br>Also take a look at
Debian::Dpkg::Version. <br>
Sort::Versions
Author: NEILB <https://metacpan.org/author/NEILB>
Good for Perl-style versioning scheme (1.2.3) but does not work as
people expect for semantic versioning scheme like 1.2.3 vs
1.2.3alpha vs 1.2.3rc (1.2.3 should be the latest, not the alpha or
rc). For handling the latter case, use SemVer. Also take a look at
Debian::Dpkg::Version.
App::Countdown
Author: SHLOMIF <https://metacpan.org/author/SHLOMIF>
Nice idea, though I'd probably just write a shell function for this.
<br>
Rating: 8/10
Data::Compare
Author: DCANTRELL <https://metacpan.org/author/DCANTRELL>
Pros: handle hashes as well as arrays, handle nested and cyclic
structure, plugins. <br><br>Cons: No cmp-like functionality
(returning -1, 0, 1), slow (even slower than Array::Compare).
<br><br>See also: Array::Compare, JSON/YAML/Storable. <br>
Rating: 6/10
Array::Compare
Author: DAVECROSS <https://metacpan.org/author/DAVECROSS>
Pros: has a perm() function to check whether the two arrays contain
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.
CPAN::Mini::Webserver
Author: MITHALDU <https://metacpan.org/author/MITHALDU>
Just found out about it, despite having used CPAN::Mini for over a
year. Helps *a lot*. More people should know this (e.g. mention from
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
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>
Package::Builder
Author: DRAUONER <https://metacpan.org/author/DRAUONER>
Less boilerplate please!
Rating: 2/10
File::LibMagic
Author: DROLSKY <https://metacpan.org/author/DROLSKY>
After comparing against File::MMagic, File::MMagic::XS, File::Type,
I ended up choosing File::LibMagic because it has the least problems
and looks like being the most maintained (although it would be nice
if the author cleans up the RT queue). <br><br>For those stuck
without a C compiler, File::Type or File::Magic can be an
alternative.
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
module is a worthy alternative to Test::MockTime. It offers extra
features such as working across forks, mocking Time::HiRes
(eventually), and speeding/slowing down time.
Sakai::Stats
Release early, release often indeed. First you release nothing but
boilerplate :)
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
more. <br><br>All in all, you are free to use or not use
Date::Manip. There are other alternatives. Pick wisely. <br>
Rating: 6/10
App::pmuninstall
Author: XAICRON <https://metacpan.org/author/XAICRON>
One would wonder why CPAN clients still don't have this crucial
feature Though you see Miyagawa listed in the Credits so maybe
cpanminus or its sister will end up having this functionality? One
can only hope. At 0.06, some things are not working flawlessly
(submitted in RT). Keep up the good work! <br><br>
App::lntree
Author: ROKR <https://metacpan.org/author/ROKR>
I guess this app is still useful, since "cp -sR" still
doesn't work as many would expect, and there are Windows users out
there (yes, newer NTFS does support symlinks; though I don't know
whether this module supports creating symlinks on NTFS). <br><br>A
minor comment would be on the name, maybe lnstree can be considered
instead (since "ln" indicates hardlink, at least for me).
Btw, there's also a free software called "lns" to do the
exact same thing. <br><br>
Data::Clone
Author: GFUJI <https://metacpan.org/author/GFUJI>
I've never encountered difficulty in cloning data structures in
Perl, usually I just use Clone or sometimes Storable's freeze + thaw
(the later does not yet support cloning Regexp objects out of the
box). <br><br>However, I like Data::Clone for its speed! It's
several times faster than Clone or freeze+thaw. So hats up. Planning
to use Data::Clone in future projects. <br><br>Now if we can
convince Goro to write a fast serializer/deserializer with compact
output (essentially, a faster version of Storable), that would be
even nicer :-) <br><br>
Data::Pond
Author: ZEFRAM <https://metacpan.org/author/ZEFRAM>
With due respect to the author, I fail to see the practical point of
Pond. Pond (Perl-based open notation for data) is the Perl
counterpart of JSON, except that implementation is currently only
available in Perl (CMIIW), and "Pond represents fewer data
types directly". <br><br>Pond is pitched against Data::Dumper +
eval, which is dangerous, but Data::Dumper + eval is by far not the
only method available for serialization. Perl can do Storable, JSON,
YAML, even PHP serialization format. <br><br>The documentation does
not show what Pond looks like. <br><br>One cute thing about Pond is
that you can check Pond syntax using a single regex. But apart from
that, there's nothing compelling in using Pond to serialize data.
Rating: 4/10
File::Which
Author: PLICEASE <https://metacpan.org/author/PLICEASE>
You can always count on CPAN to have prewritten modules for various
things, including this one. I've never bothered before about
portability and just rely on the "which" command, but for
one reason there's a time when I just couldn't do that. <br><br>Btw,
there's also File::Which::Cached.
String::ShellQuote
Author: ROSCH <https://metacpan.org/author/ROSCH>
I admit it. Ever since I know about escapeshellarg() and
escapeshellcmd() in PHP, I've been reimplementing this function in
Perl literally a million of times (mostly because of laziness and
because it only takes a couple of lines in Perl). Only a few months
ago after the millionth time I said enough is enough and started to
look around in CPAN, and found this module. <br><br>The only problem
for this module is lack of visibility. Before I've never read
articles or blog posts mentioning this module, ever. Yes, we have
system() that can bypass the shell, but qx() can't. So yes, this
module needs to be marketed more! <br>
Capture::Tiny
Author: DAGOLDEN <https://metacpan.org/author/DAGOLDEN>
Another very handy little module that takes the hassle out of
figuring the various mechanisms of capturing output. <br><br>Nice
interface, great documentation, very easy to use. But....
<br><br>Currently it cannot just capture stdout *ONLY* or stderr
*ONLY* (while leaving the other alone). I believe this is one of the
most commonly requested feature (already in RT). If that feature is
implemented, this module deservers a 7-star rating.
Rating: 8/10
File::chdir
Author: DAGOLDEN <https://metacpan.org/author/DAGOLDEN>
This is a handy little module, with a simple and nice interface. One
of the more common bugs encountered in my scripts is forgetting to
track the current working directory after doing chdir() in
subroutines. By localizing $CWD, I don't have to worry that
subroutines mess up current working directory anymore.
FAQ
What is an Acme::CPANModules::* module?
An Acme::CPANModules::* module, like this module, contains just a list
of module names that share a common characteristics. It is a way to
categorize modules and document CPAN. See Acme::CPANModules for more
details.
What are ways to use this Acme::CPANModules module?
Aside from reading this Acme::CPANModules module's POD documentation,
you can install all the listed modules (entries) using cpanm-cpanmodules
( run in 1.607 second using v1.01-cache-2.11-cpan-b16cb0d3907 )