return $out;
}
+sub _sort_fields
+{
+ my $ref = shift;
+ my @a = split /,/, $ref->field_prompt(shift);
+ my @b = split /,/, $ref->field_prompt(shift);
+ return lc $a[1] cmp lc $b[1];
+}
+
# print all the fields for a record according to privilege
#
# The prompt record is of the format '<priv>,<prompt>[,<action>'
my $width = $self->width - 1;
$width ||= 80;
- foreach $field (sort {$ref->field_prompt($a) cmp $ref->field_prompt($b)} @fields) {
+ foreach $field (sort {_sort_fields($ref, $a, $b)} @fields) {
if (defined $ref->{$field}) {
my ($priv, $ans) = promptf($ref->field_prompt($field), $ref->{$field});
my @tmp;
# check that a thing is a frequency
sub is_freq
{
- return $_[0] =~ /^[\d\.]+$/;
+ return $_[0] =~ /^\d+(?:\.\d+)?$/;
}
# check that a thing is just digits