use Data::Dumper;
use POSIX;
+our $which = shift @ARGV;
+
sub xdata ($) {
my ($cb) = @_;
+ return unless $which eq 'Base';
foreach my $count (qw(1 2 3)) {
foreach my $nspots (qw(1 2 3 4)) {
$_ = $cb->($count,$nspots)."\t".$_;
$_=<DATA>; chomp or die;
xdata sub {
my ($xcount,$xnspots) = @_;
- $xnspots == $nspots and $xcount;
+ $xnspots == $nspots and "$xcount+0";
};
my @l = split /\t/, $_;
- foreach my $i (0..$#names) { $count{$names[$i]}{$nspots} = $l[$i] || 0; }
+ foreach my $i (0..$#names) {
+ $_ = $l[$i] || '0+0';
+ $_ ||= 0;
+ m/\+/;
+
+ $count{$names[$i]}{$nspots} =
+ $which eq 'Both' ? $` + $' :
+ $which eq 'Base' ? $` :
+ $which eq 'Witches' ? $' :
+ die "$which ?";
+ }
}
$_ = Dumper(\%count);
s{^}{// }mg;
+#print STDERR;
our $name;
our $total_count;
__DATA__
White Green Blue Red Yellow Purple Black Orange
-20 15 14 12 13 15 18 20
-8 10 10 8 6
-4
- 13 10 10 10
+20+6 15+10 14+8 12+6 13+6 15+8 18+8 20+12
+8+3 10+5 10+5 8+5 6+5
+4+2
+ 13+5 10+5 10+5 10+5
// source is quacks-ingredients-counts
END
-./quacks-ingredients-counts >>$f.tmp
+./quacks-ingredients-counts Base >>$f.tmp
mv -f $f.tmp $f
egrep '^// [A-Za-z]' $f | sort