#!/usr/pkg/bin/perl -w 


sub gencard {
  my $cx = 1;
  my $c0 = 6218;

  while ($cx % 10) {
    print $cx % 10, "\n";
    my  $c1 = sprintf("%04d",rand(9999));
    my  $c2 = sprintf("%04d",rand(9999));
    my  $c3 = sprintf("%04d",rand(9999));
    my  $cx = 0;
    my ($p, $m, $i, $v, $card);
    my (@c);

    @c = split(//,$c0 . $c1 . $c2 . $c3);
    $card = join("",@c);

    $m = 1; $p = 0; $cx = 0;

    for ($i = length($card) - 1; $i > -1 ; $i--) {
      $p++;
      if ($p % 2)  {
        $m = 1;
      } else {
        $m = 2;
      }
      $v = $m * $c[$i];
      $v -= 9 if ($v > 9);
      $cx += $v;
  #    printf "$c[$i]:$m:$cx\n";
    }

    if ($cx % 10) {
  #    printf "Card ($card) INVALID (cx/mod:$cx:" . $cx % 10 . ")\n";
      1;
    } else {
      return ($card);
    }
  }
}
