+sub parse_pctb_commodmap () {
+ undef %pctb_commodmap;
+ foreach my $commod (keys %commods) { $commods{$commod} =~ s/b//; }
+
+ my $c= new IO::File '_commodmap.tsv' or die $!;
+ if (!$c) { $!==&ENOENT or die $!; return 0; }
+
+ while (<$c>) {
+ m/^(\S.*\S)\t(\d+)\n$/ or die "$_";
+ die if defined $pctb_commodmap{$1}; $pctb_commodmap{$1}= $2;
+ die if defined $pctb_commodmap[$2]; $pctb_commodmap[$2]= $1;
+ $commods{$1} .= 'b';
+ }
+ $c->error and die $!;
+ close $c or die $!;
+ return 1;
+}
+