* Handle hyphen punctuation mark in cmd_flag and cmd_aliases.
[gitmo/MooseX-Getopt.git] / lib / MooseX / Getopt / Parser / Descriptive.pm
index bc4bf57..44035f1 100644 (file)
@@ -52,11 +52,13 @@ sub build_options {
         my ($flag, @aliases) = $getopt->_get_cmd_flags_for_attr($attr);
         my $type = $getopt->_get_cmd_type_for_attr($attr);
 
-        $cmd_flags_to_names{$flag} = $name;
-
         my $opt_string = join '|', $flag, @aliases;
         $opt_string .= MooseX::Getopt::OptionTypeMap->get_option_type($type) if $type;
 
+        # opt_string is unmangled; parsed options key is mangled
+        $flag =~ tr/-/_/;
+        $cmd_flags_to_names{$flag} = $name;
+
         my $doc;
         $doc = $attr->documentation if $attr->has_documentation;
         $doc = ' ' unless $doc;