The POD parsing is now sensitive to dashes; it's nice to have the same functionality as the longer list specification.
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.
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
This is more straightforward than [-]-d[imension].
It may be useful to subclass Euclid for this purpose, e.g.
You have to have rather square-brackety expressions to get double
dashes and optional ='s.
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.