#!/usr/bin/perl
$|=1;
my @b = ('5', '/', '6', '3', 'X', 'X', '7', '0', '4', '3', 'X', '4', '/', '8', '1', '3', '/', '6');
$r = a(@b);
print "score is $r\n";
sub a {
map {s/(\/|X)/10/} @_ ;
while ($_ = shift) {
if (/^.$/) {
$t += ($_[0] == 10 ? $_[1] + shift : $_ + shift)
}else{
$t+= ($_[0] < 10 && $_[1] == 10 ? 20 : 10 + $_[0] + $_[1])
}
last if ++$f ==10
}
$t
}
####
sub a {
map{s#(/|X)#10#}@_;while($_=shift){if(/10/){$t+=($_[0]<10&&$_[1]==10?20:10+$_[0]+$_[1])}else{$t+=($_[0]==10?$_[1]+shift:$_+shift)}last if++$f==10}$t
}
##
##
sub a {
map{s#(/|X)#10#}@_;for(1..10){$_=shift;/10/?{$t+=($_[0]<10&&$_[1]==10?20:10+$_[0]+$_[1])}:{$t+=($_[0]==10?$_[1]+shift:$_+shift)}}$t
}
##
##
sub a {
map{s#[/X]#10#}@_;for(0..9){$_=shift;/10/?$t+=$_[0]<10&&$_[1]==10?20:10+$_[0]+$_[1]:($t+=$_[0]==10?$_[1]+shift:$_+shift)}$t
}