Sha256: 557723187e026822d24162914d24f3692e949a587970ea7d9b8031ddb18574bf
Contents?: true
Size: 355 Bytes
Versions: 83
Compression:
Stored size: 355 Bytes
Contents
unit module Luhn:ver<3>; sub is-luhn-valid ($input is copy) is export { $input ~~ s:g/\s+//; return False if $input.chars < 2 || $input ~~ /\D/; my @num = $input.split('', :skip-empty); @num.unshift: 0 if @num % 2; my $sum; for @num -> $a, $b { $sum += $a * 2; $sum -= 9 if $a * 2 > 9; $sum += $b; } return ($sum %% 10).so; }
Version data entries
83 entries across 83 versions & 1 rubygems