Vérification de la clé/clef de Luhn en Perl

L'algorithme de Luhn ou la formule de Luhn, aussi connu comme l’algorithme « module 10 » ou « mod 10 », en voici une implementation en Perl :

#!/usr/bin/perl -w
use strict;
 
sub check_num($) {
  my ($num) = @_;
 
  my @nums = split //, $num;
  my $size = scalar @nums;
  my $i = 0;
  my $some = 0;
  foreach my $n (reverse @nums) {
    my $tmp = $n * ( 1 + ($i++ % 2));
    print "tmp: $tmp\n";
    $some += $tmp > 9 ? $tmp - 9 : $tmp;
  }
  return $some % 10 eq 0 ? "OK $some" : "Bad num Card $some";
}
 
print check_num($ARGV[0]), "\n";
 
tech/verification_cle_de_luhn.txt · Dernière modification: 2007/01/16 15:07
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki Powered by Lescampeurs