$di{$mnem} = hex $char;
}
+# optionally get unicode character information
+my %charinfo = eval {
+ require Unicode::UCD;
+ map { $_ => Unicode::UCD::charinfo($di{$_}) } keys %di;
+};
+
# output perl code of hash
# (assume no backslashes or curlies, so we can just q{} w/o escaping)
print "{\n";
-print "q{$_}=>$di{$_},\n" for sort keys %di;
+printf "q{%s}=>[%s],\n", $_, join(',',
+ $di{$_}, # glyph code point
+ $charinfo{$_} # optional additional arguments
+ ? map {"'$_'"} @{ $charinfo{$_} }{qw/name category script/}
+ : ()
+) for sort keys %di;
print "}\n";