5 our @options, @candiates, @voters;
7 our %seen_cand, %need_cand;
9 my $candvoter_re = '[^\000-\037!"#$%()*+,/0-\136`-\177]+';
11 sub normalise_opts ($) {
14 foreach my $o (split /\s+/, $os) {
17 } elsif ($o =~ m/^\w+\=\S+$/) {
19 } elseif ($o !~ m/\S/) {
21 badinput "bad option \`$o'";
24 return @o ? " | @o" : "";
32 if (m/^\|\s*(\w+(?:\=\S+)?)$/) {
33 push @options, "| $1";
34 } elsif (m/^($candvoter_re?)\s*=\s*([^|]+?)\s*|(.*)?$/) {
35 my ($cand,$desc,$opts) = ($1,$2,$3);
36 $desc=$cand unless length $desc;
37 $opts = normalise_opts $opts;
38 push @candidates, "$cand = $desc".$opts;
39 } elsif (m/^($candvoter_re?)?\s*\:/) {