Score counter for Skat
Ruby 1.9, 52 characters
Input via command line arguments. I'm assuming the error message when having duplicate cards doesn't matter, so it just complains about an eval/type conversion error.
p eval$*.uniq!||$*.map{|i|"..UOK#$<.0D"=~/#{i}?/}*?+
Example usage:
$ ruby1.9 skatscore.rb 7A 8A 9A UA OA KA 0A DA 7L 8L 9L UL OL KL 0L DL 7H 8H 9H UH OH KH 0H DH 7B 8B 9B UB OB KB 0B DB
120
$ ruby1.9 skatscore.rb 7A 7A
skatscore.rb:1:in `eval': can't convert Array into String (TypeError)
from skatscore.rb:1:in `<main>'
Scala, 87 82 characters
args.distinct(args.size-1);println(args.map(a=>1+" UOK 0D".indexOf(a(0))).sum)
Throws an exception on repeated cards.
Haskell, 122 108 107 characters
import List
main=interact$f.words
f x|nub x==x=show$sum$map(maybe 0 id.(`elemIndex`" UOK 0D").head)x