X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=blobdiff_plain;f=yarrg%2FCommods.pm;h=5d0ffe29fd46b8dd7b06802655b84d132ec9f100;hp=af03a6497b9a7760be5b55cbee867680ffd2d25a;hb=ae2758e8121ca99fc8055e794b4f891e4b0e267a;hpb=57664b818861ce04c4237d8f69af3bd47e815090 diff --git a/yarrg/Commods.pm b/yarrg/Commods.pm index af03a64..5d0ffe2 100644 --- a/yarrg/Commods.pm +++ b/yarrg/Commods.pm @@ -222,7 +222,7 @@ sub parse_info1 ($$$) { $ordval= $1; $ordval =~ s/^(\d+)\+$/ $1 + $lnoix * 10 /e; } elsif ($prop =~ m/^\!([a-z]+)$/) { - $c->{Flags} .= $prop; + $c->{Flags} .= $1; } else { die "unknown property $prop for $ucname"; } @@ -422,17 +422,18 @@ sub check_tsv_line ($$) { chomp($l) or &$bad_data('missing end-of-line'); - $l !~ m/\P{IsPrint}/ or &$bad_data('nonprinting char(s)'); + $l =~ m/[\t [:graph:]]/ or &$bad_data('nonprinting char(s) '.sprintf "%#x", ord $&); my @v= split /\t/, $l, -1; @v==6 or &$bad_data('wrong number of fields'); + $v[1] =~ s/^\s+//; $v[1] =~ s/\s+$//; # ooo don't check :-( my ($commod,$stall) = @v; !keys %commods or defined $commods{$commod} or &$bad_data("unknown commodity ".errsan($commod)); - $stall =~ m/^\p{IsUpper}|^[0-9]/ or - &$bad_data("stall not capitalised ".errsan($stall)); + $stall =~ m/^\p{IsAlnum}/ or + &$bad_data("stall does not start with alphanumeric ".errsan($stall)); !exists $check_tsv_done{$commod,$stall} or &$bad_data("repeated data ".errsan($commod).",".errsan($stall)); $check_tsv_done{$commod,$stall}= 1;