$usage->die unless GetOptions(\%return, grep { length } @specs); #### my $usage = bless sub { my ($as_string) = @_; ... return $buffer if $as_string; } => "Getopt::Long::Descriptive::Usage"; #### sub die { my $self = shift; my $arg = shift || {}; die( join( "", grep { defined } $arg->{pre_text}, $self->text, $arg->{post_text}, ) ); } #### sub text { shift->(1) }