use strict;
use warnings;
+no warnings qw(exec);
+
BEGIN {
use Exporter ();
our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
$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;
defined $commods{$commod} or
&$bad_data("unknown commodity ".errsan($commod));
- $stall =~ m/^\p{IsAlnum}/ or
- &$bad_data("stall does not start with alphanumeric ".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;
my $selfdir= $0;
$selfdir =~ s,/+[^/]*$,,;
chdir("$selfdir") or die "$selfdir $!";
+
+ unshift @INC, qw(.);
}
use Commods;
# are used without permission. This program is not endorsed or
# sponsored by Three Rings.
+BEGIN { unshift @INC, qw(.) }
use strict (qw(vars));
use HTTP::Request;
# are used without permission. This program is not endorsed or
# sponsored by Three Rings.
+BEGIN { unshift @INC, qw(.) }
+
use strict (qw(vars));
use POSIX;
use MIME::Entity;
use Commods;
+no warnings qw(exec);
+
$CGI::POST_MAX= 3*1024*1024;
use CGI qw/:standard -private_tempfiles/;
# are used without permission. This program is not endorsed or
# sponsored by Three Rings.
+BEGIN { unshift @INC, qw(.) }
+
use strict (qw(vars));
use JSON;
#use Data::Dumper;
# are used without permission. This program is not endorsed or
# sponsored by Three Rings.
+BEGIN { unshift @INC, qw(.) }
+
use strict (qw(vars));
use DBI;
# This specific file is hereby placed in the public domain, or nearest
# equivalent in law, by me, Ian Jackson. 5th July 2009.
+BEGIN { unshift @INC, qw(.) }
+
use IO::File;
use strict (qw(vars));
# YPPSC_YARRG_DICT_UPDATE=./ YPPSC_YARRG_DICT_SUBMIT=./ ./yarrg --ocean midnight --pirate aristarchus --find-island --same --raw-tsv >raw.tsv
# ./dictionary-manager --debug --approve-updates '' . .
+BEGIN { unshift @INC, qw(.) }
+
use strict (qw(vars));
use POSIX;
+no warnings qw(exec);
+
$CGI::POST_MAX= 1024*1024;
$CGI::DISABLE_UPLOADS= 1;
# are used without permission. This program is not endorsed or
# sponsored by Three Rings.
+BEGIN { unshift @INC, qw(.) }
+
use strict (qw(vars));
use CommodsDatabase;
*enamel
*forageables
+# Commodities are defined in `commods` sections
+# Each line is
+# <name> <facts>
+# and the <facts> can be
+# <mass>kg
+# <volume>l
+# *<class> (see commodclasses, above)
+# @<sort-number> sort order value, for where in the commods list it goes
+# @<sort-number>+ sort order value; 10x line number is added
+# The <name> can contain `%<reference>` which is then defined in
+# a `%<reference>` section.
+# Volume defaults to 1l.
+
commods
kraken's blood 1kg *dye @105
%d dye 1kg *dye @0
swill 1kg *ship_supplies @0+
grog 1kg *ship_supplies @0+
fine rum 1kg *ship_supplies @0+
+ rum spice 800g *ship_supplies @0+
small cannon balls 7100g *ship_supplies @0+
medium cannon balls 14200g 2l *ship_supplies @0+
large cannon balls 21300g 3l *ship_supplies @0+
lily of the valley 300g *herbs @0+
nettle 300g *herbs @0+
butterfly weed 100g *herbs @0+
+ allspice 800g *herbs @0+
bananas 125kg 100l *forageables @300000+
carambolas 125kg 100l *forageables @300000+
Winking Wall Island
ocean Obsidian
+ Ye Bloody Bounding Main
+ Loggerhead Island
+ Melanaster Island
+ Picklepine Ridge
+ Woodtick Island
# are used without permission. This program is not endorsed or
# sponsored by Three Rings.
+BEGIN { unshift @INC, qw(.) }
+
use strict (qw(vars));
use DBI;
use Commods;
</%doc><%perl>
+no warnings qw(exec);
+
use CommodsWeb;
my $printable= printable($m);
</%args>
<%perl>
+no warnings qw(exec);
+
use BSD::Resource;
my $emsg;