Revision history for Perl extension MooseX-Getopt
+0.25 UNRELEAED
+ * MooseX::Getopt
+ - Split out the warnings and the exception from Getopt so that they can be
+ overridden.
+
0.24 Fri. Oct 23 2009
* MooseX::Getopt
- Fix bug with mixed case attribute names (MAROS)
# Get a clean copy of the original @ARGV
my $argv_copy = [ @ARGV ];
- my @err;
-
+ my @warnings;
my ( $parsed_options, $usage ) = eval {
- local $SIG{__WARN__} = sub { push @err, @_ };
+ local $SIG{__WARN__} = sub { push @warnings, @_ };
if ( HAVE_GLD ) {
return Getopt::Long::Descriptive::describe_options($class->_usage_format(%params), @$opt_spec);
}
};
- die join "", grep { defined } @err, $@ if @err or $@;
+ $class->_getopt_spec_warnings(@warnings) if @warnings;
+ $class->_getopt_spec_exception(\@warnings, $@) if $@;
# Get a copy of the Getopt::Long-mangled @ARGV
my $argv_mangled = [ @ARGV ];
);
}
+sub _getopt_spec_warnings { }
+
+sub _getopt_spec_exception {
+ my ($self, $warnings, $exception) = @_;
+ die @$warnings, $exception;
+}
+
sub _usage_format {
return "usage: %c %o";
}