POD }
#### Constant assignments #### sub write_constant { my ($fh, $value, $long_name, $short_name, $categories) = @_;
my
$export_categories
;
$export_categories
=
'(:'
.
join
(
" :"
, @{
$categories
}) .
')'
if
ref
$categories
&& @{
$categories
};
say
$fh
join
q{}
,
grep
{
defined
}
'our constant '
,
$long_name
,
' is export'
,
$export_categories
,
" = $value;"
;
}
my %precision; sub store_precision { my ($name, $precision, $type) = @_;
$precision
{
$name
}->{value} =
$precision
;
$precision
{
$name
}->{type} =
$type
;
}
sub write_precision { my ($fh) = @_;
say
$fh
"\n"
,
'my %_precision = ('
;
for
my
$name
(
sort
keys
%precision
) {
my
(
$value
,
$type
) = @{
$precision
{
$name
}}{
qw/value type/
};
say
$fh
"\t$name \t=> {value => $value, \ttype => '$type'},"
;
}
say
$fh
');'
;
}