Ratings and Reviews for CPAN
Find a distribution you would like to review:
This can be accomplished in a one-liner. It simply takes a list and converts it into a hash. The author is a bit disingenuous claiming it "converts the given list to internal structure to find the element fast" without mentioning this.
Excellent! Does what it claims! Trying to use Inotify2 or similar for recursive directories is sort of involved, this module solves that problem.
I've been using AnyEvent for about seven years now, and I am very glad that I toughed out the relatively steep learning curve and got my head wrapped around it. Though I can't honestly put a five in any of the given categories, I have to give it a five overall because it brings so much power and performance to bear.
great application. Very useful for any network and discovering devices! Will definitely recommend.
Does what it says on the tin simply and well, with the added bonus of a helpful and responsive developer.
Claims to be a drop-in replacement for URI::Escape, but it behaves differently and that difference is undocumented. Unlike URI::Escape, it doesn't escape reserved characters by default. If you want the same behavior, you have to pass in "^A-Za-z0-9\-\._~" as the second argument. It also benchmarks much slower than the pure-perl version - 2x slower for decoding, 10x slower for it's incompatible encoding and 100x slower for compatible encoding.
Amazingly useful. The new (to me) flame graph feature really makes finding performance pain points a doddle!
Path::Tiny is truly awesome. The API has everything you need, and it's just so *easy* to use.
We use it extensively to replace all the file reading/writing, copying/moving, directory traversal code; it makes the code simpler and more robust - what's not to like?
Completely undocumented module, it does not even have so much as an abstract. Since the release of version 0.1 was in 2001, this seems to be abandoned.
It's very difficult to make head or tail of what this module is supposed to do from reading the documentation. The example code is not formatted correctly as pod, and I tried typing in various bits of the documentation to no avail.
dzil is a very valuable tool if you have to maintain a significant number of CPAN or darkPAN distributions. Plugins allow to easily improve the quality of your packaging or to increase testing. Plugin bundles allow to standardize your packaging process across multiple projects, and this is very helpful as a CPAN author or in a company.
The IRC support (#dzil on irc.perl.org) is highly responsive and will help you to find a solution to any problem you may encounter.
Unfortunately support for perl < 5.14 has been suddently dropped with dzil 6.0, so I'm stuck with dzil 5.047 (from BackPAN) for a perl 5.10.1 only project until someone implements cross-perl testing.
This module creates a unique id by printing a base 62 version of the time and the process number, and the hostname if you want a globally unique ID.
I've been using this to generate about 300 IDs a day on a public-facing web service for about six years. I have not had any problems with it. I require IDs which are unique to my pages only, not globally unique.
Over the years, many people have recommended and used this module. The module's maintainer applies patches supplied by the community and releases upgrades without regressions.
However, much its code exists as XS, not perl, and the community has not provided fixes for reported bugs, including a security vulnerability reported in 2013 as CVE-2013-4184.
As of 2017, I would avoid using this insecure module and choose something else, such as UUID::Tiny, instead.
Happily returns result when graph is cyclic (and thus proper topological sorting cannot be done). See also Data::Graph::Util for a simpler alternative.
(Reviewing Sort::Topological, which is included in Data-Match distribution at the time of this review).
Hangs when given a dependency like: a => ["a"]. Happily returns result when graph is cyclic (and thus proper topological sorting cannot be done). See also Data::Graph::Util for alternative.
Well documented simple module that does exactly what I needed. Highly recommend it.