Reviews by Ian Tegebo


Getopt-Auto (1.9.7) ****

The POD parsing is now sensitive to dashes; it's nice to have the same functionality as the longer list specification.

Module-Dependency (1.86) **

I've read through Dependency.pod, the referenced README, and the examples and I'm still no closer to understanding how to use this than when I started. Where is the API? How do I define dependencies? I suppose I can go look at the tests for a clue, but this hardly seems acceptable.

I was expecting something like,

my $deps = Module::Dependency->new( this => @these, that => @those );
print join "\n", $deps->all()->as_text();

And then followed by explanations of what the all(), as_text(), and new() methods do.

Getopt-Euclid (v0.1.0) ****

Required Options

Doesn't handle 'at least one' for required - it's all or nothing

Problems with formatting

When using --man|less, dumps pod and not formatted man page.

Exposing the argument structure in printed help/usage/man is

non-standard; this has the affect of being confusing to the



-d, --dimension=<h>x<w>

This is more straightforward than [-]-d[imension].

It may be useful to subclass Euclid for this purpose, e.g.


Argument Structure

You have to have rather square-brackety expressions to get double

dashes and optional ='s.

Useful Configurations

Use variable names instead of %ARGV

You can do use Getopt::Euclid qw( :vars(opt_) ); to have named

variables rather than access %ARGV.

Fewer names for variables

You can do use Getopt::Euclid qw( :minimal_keys ); to not create 'aliases' for every allowable permutation of the switch.