use strict;
use warnings;
+no warnings qw(exec);
+
BEGIN {
use Exporter ();
our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
$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";
}
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[0] = ucfirst lc $v[0]; # YPP anomalously has "Rum Spice"
+ $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 contain 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;