Ratings and Reviews for CPAN

cpanratings
 

Rate a distribution

Find a distribution you would like to review:

Recent reviews (RSS feed)

MooX-ClassAttribute (0.006) *****

Does what it says. No worries so far using this module for 5 months.

A big thank you to the author, Toby, who created this module only a few days after i asked on PerlMonks if a module existed for this purpose. Impressive reactivity!

mascip - 2013-05-21T12:36:52 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Guard (1.022) *****

Useful. The Guard used by AnyEvent, so if you are using that family, this is the guard module for you.

James Wright - 2013-05-19T08:04:54 (permalink)

Was this review helpful to you?  Yes No

Module-Runtime (0.013) *****

Correct and useful runtime module loading tools; works around funkyness in old buggy perls that can bite when doing the classic 'eval..require' routine. Also provides module name validation tools.

`use_module($some_class)->new(%params)` is a frequent idiom I use for dynamic class loading and object construction.

Jon Portnoy - 2013-05-19T05:38:36 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Object-Pluggable (1.29) *****

A base class providing a solid implementation of a controllable plugin pipeline. Well-tested as it is an integral part of the popular POE::Component::IRC suite (amongst others) via POE::Component::Syndicator.

The ability to easily control pipeline order (via methods) and event lifetime (via return values) are useful features that often lack in other plugin systems. Plugins are passed references to arguments, and therefore have the ability to alter event arguments before they are handed off to the next plugin in the pipeline.

Worth a serious look if implementing any kind of pluggable class -- POE users should probably also look at POE::Component::Syndicator, a subclass of Object::Pluggable.

Jon Portnoy - 2013-05-19T05:21:27 (permalink)

Was this review helpful to you?  Yes No

Net-IP-Minimal (0.06) *****

A convenient minimalist module for determining whether an IP address is IPv4 or IPv6. Works as-advertised, and I rarely need the rest of Net::IP.

Jon Portnoy - 2013-05-19T05:11:24 (permalink)

Was this review helpful to you?  Yes No

Net-DNS (0.72) *****

I've used this module for years and years and I don't think much about it. It's just plumbing and it consistently works. The documentation is very sufficient and when I need to do anything even slightly complicated this module handles it very capably.

Matt Simerson - 2013-05-18T14:04:41 (permalink)

Was this review helpful to you?  Yes No

SOAP-Lite (0.716)

No Ratings. Just to mention that IO::Session* are missing from the toolkit. XMLRPC::Lite does not install without them.
hth

Stephan titard - 2013-05-18T11:37:33 (permalink)

Was this review helpful to you?  Yes No

Net-RabbitFoot (1.03)

No documentation. Appalling. How are people expected to actually use this without digging through the source? What is the point in sharing.

Sam - 2013-05-17T22:12:34 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

strictures (1.004004) *****

strictures is sort of dual-use: in typical usage (on your users' systems, for example), it is effectively the same as "use strict; use warnings FATAL => 'all'" -- but if it appears code is being run from a development repository (or if extra tests are explicitly enabled), you also get indirect object syntax, bareword filehandle, and multidimensional array ("I meant to type @hash{1,2} not $hash{1,2}") checks.

Pros: This has saved me from myself and others more than once.

Cons: Fatal-by-default warnings are a con for some people. You may need to think a little harder about which warnings you care about. Sometimes perl warns for some silly stuff, and that can change from one version to the next.

Jon Portnoy - 2013-05-17T15:45:08 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Role-Tiny (1.002005) *****

Roles are a sane approach to code reuse with reasonable and predictable behavior, as opposed to doing ugly and unpleasant things to your classes via inheritance.

Role::Tiny brings you the minimal set of useful role-building tools modelled after Moose's implementation of the concept; it is less restrictive than other models (such as Role::Basic), and provides goodies like `around` / `before` / `after` method modifiers.

Roles have solved a lot of design headaches for me; this module appears to be the nicest "just roles, please!" implementation available.

Jon Portnoy - 2013-05-17T06:44:46 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Moo (1.002000) *****

A slim-line Moose-alike without the costs and features most people don't need (plus Moose compatibility if it turns out you did); easy to sell to folks concerned about the overhead inherent to Moose. Very much simplified my object-heavy code.

Jon Portnoy - 2013-05-17T06:35:05 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

List-Objects-WithUtils (1.000001)

While I understand Sean (educated_foo) hates anything that smells like an object, and I get that "arrow-infested" syntax like `$hash->sliced('foo', 'bar', 'baz')` is less readable to some folks than writing a classic hash slice with an exists() check, I think that his "send it to Acme!" review is a mischaracterization of what my module does.

Core operators are present -- they also live alongside other bundled tools and toys for working with collections (List::Util, List::MoreUtils, List::UtilsBy, and Syntax::Keyword::Junction) packaged in a way that encourages thinking in functional terms. Most methods that manipulate a list return new objects; avoiding mutable lists is easy/encouraged. I have simplified a fair bit of my in-house code this way -- at the (admittedly relatively heavy) cost of method call overhead -- which is why it is on CPAN ;-)

Jon Portnoy - 2013-05-17T05:49:06 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Riak-Light (0.055) ****

This is a very small and fast riak interface.

Tiago Peczenyj - 2013-05-17T04:31:39 (permalink)

Was this review helpful to you?  Yes No

SimpleXMLParse (1.5.0) *

avoid like the plague. the first clue is the poor choice of module names. then look at the source and see that it uses regular expressions to parse xml.

Justin Case - 2013-05-16T01:03:08 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Kelp (0.219) *****

Very lean and fast web framework designed as a thin layer on top of Plack. The excellent documentation allows for a quick start and easy reference during development. We have most of our projects developed using Dancer, but Kelp is a great candidate for our next site. We are especially attracted to the Plack integration and the low learning curve.

Richard Schnaste - 2013-05-14T14:39:14 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Term-Size (0.207) *

5-year old bug like RT#38594 still present. Use one of the alternate implementations like Term::Size::{Unix,Win32,ReadKey}.

Steven Haryanto - 2013-05-13T19:10:44 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Net-SMTPS (0.03) *****

It took some digging, as this module doesn't pop up near the top when searching for Net::SMTP, but it's worth finding. This module is EXACTLY what I was looking for. After finding Net::SMTP::TLS (old, broken, poorly implemented, not maintained), and then Net::SMTP::TLS::ButMaintained (maintained, but still poorly implemented), and Net::SMTP::SSL (only supports the deprecated SMTPS on port 465), I finally found this module.

If you are looking for a drop-in replacement for Net::SMTP that adds STARTTLS support, this is it. Works perfectly for me. Thanks so much!

Matt Simerson - 2013-05-11T16:32:30 (permalink)

4 out of 4 found this review helpful. Was this review helpful to you?  Yes No

Net-SMTP-TLS-ButMaintained (0.22) **

First, I offer my hearty thanks to Fayland for providing this fork, which is basically just bug fixes for Net::SMTP::TLS. For that, I offer a hearty 5 stars.

The problem with this module is its legacy of Net::SMTP::TLS, which in many important ways, does not behave at all like Net::SMTP. If you are seeking a robust and mature Net::SMTP implementation that adds STARTTLS, look to Net::SMTPS instead. The author of Net::SMTPS wrote it the right way, as a very thin subclass of Net::SMTP, so that it benefits from the very well maintained, mature, and robust Net::SMTP module.

Matt Simerson - 2013-05-11T16:27:03 (permalink)

3 out of 3 found this review helpful. Was this review helpful to you?  Yes No

Net-SMTP-TLS (0.12) *

You should NOT be use this module. It has not been maintained in 7 years. It is broken in several ways (see the RT bug reports). A successor fork called Net::SMTP::TLS::ButMaintained is available which fixes a number of the bugs in this module. While ButMaintained is better, neither module is very good.

I was hoping this module would be a drop-in replacement for Net::SMTP with TLS support. While testing, I noticed the SMTP behavior was poor (not RFC compliant in several ways) and I fixed a couple of the problems. However, this module is not programmer friendly and in quite a few ways, does not behave like Net::SMTP.

After trying to use this module, I thought to myself, "I would be better of writing myself a thin layer for Net::SMTP that adds STARTTLS support." But before I put paws to keyboard, I searched CPAN again, and found Net::SMTPS, which is exactly what I had envisioned. Consider using it instead.

Matt Simerson - 2013-05-11T16:18:36 (permalink)

3 out of 3 found this review helpful. Was this review helpful to you?  Yes No

Regexp-Grammars (1.028) *****

Regexp::Grammars has made my life a lot easier. I basically registered just to say thanks. My most recent use of this is in TPath, which RG made almost trivial to implement. Well, maybe not trivial, but at least an order of magnitude easier.

David F. Houghton - 2013-05-11T16:13:01 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Kelp (0.219) *****

Simple but very powerful, it takes advantage of plack and has a good performance

Miguel Prz - 2013-05-10T23:42:57 (permalink)

3 out of 3 found this review helpful. Was this review helpful to you?  Yes No

List-Objects-WithUtils (1.000001) *

Modules like this, which let you replace Perl's built-in operators with a bunch of object-y arrow-infested junk, belong in Acme::.

educated_foo - 2013-05-10T11:38:01 (permalink)

3 out of 5 found this review helpful. Was this review helpful to you?  Yes No

Enbugger (2.013) *****

Clear doco allowed me to jump right in and debug some hairy global destruction issues in a complex (Moose, AnyEvent, ++) codebase.

Worked exactly as advertised.

I'll also remember this module if I ever need to hook into a running perl process.

N Heinrichs - 2013-05-10T02:24:39 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

DBIx-Class (0.08250) *****

Great Performance improvement

Vasundhar Boddapati - 2013-05-09T03:00:42 (permalink)

0 out of 1 found this review helpful. Was this review helpful to you?  Yes No

DBD-mysql (4.023) *****

This module is used by many (surely at least thousands) many users but has only 6 reviews? I guess there isn't much incentive to review this module. Shucks, most users of probably don't know it exists as it gets installed automatically by hundreds of applications and just silently works really well for years and years. I've used it in dozens of applications over the nears with nary a hiccup. Many thanks!

Matt Simerson - 2013-05-08T21:30:24 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No