in reply to YAL10CI (Yet Another LUHN-10 Checksum Implementation)

This isn't faster (Actually, ~50% slower), but it is smaller. I found it interesting that the entire LUHN10 function you wrote was faster then doing a split on the number and using 'for' to only sum it, without the real math thrown in. With that kind of speed advantage that chop offers you over array processing, I can't see any OBVIOUS ways of making this any faster. And I tried. You might get some incremental increases from golfing the problem, but this seems to be a tight algorithm. I was using perl 5.6.0 from activestate for my testing.
my @LUHN10_map = ( 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 ); sub johannz_LUHN10 { my @number = split('', shift); my ($sum, $pos) = (0, scalar(@number)); $sum += $pos--%2 ? $_ : $LUHN10_map[$_] for (@number); ($sum % 10 == 0) ? 1 : 0; }