#!/usr/bin/perl
# taiwanbizchecksum -- 計算台灣營利事業統一編號之檢查號碼
# Compute Taiwan business registration number checksums
# Copyright       : http://www.fsf.org/copyleft/gpl.html
# Author          : 積丹尼 Dan Jacobson -- http://jidanni.org/comp/checksums/
# Created On      : Wed Jan 12 02:11:14 2005
# Last Modified On: Sat Sep 12 18:59:22 2015
# Update Count    : 63
# 使用例子 Usage example: $ echo 9999999 | taiwanbizchecksum
# 99999997
use strict;
use warnings FATAL => 'all';
while (<>) {
    chomp;
    die "$_: 請輸入營利事業編號前七碼" unless /^\d{7}$/;
    my @A = ( 1, 2, 1, 2, 1, 2, 4 );
    my $sum = 0;
    for ( split '' ) { map $sum += $_, split '', $_ * shift @A }
    printf "$_%d\n", ( 10 - $sum % 10 ) % 10;
}
#Or map $sum += $_, split '', $_ * ( $i % 2 + 1 + 3 * int $i++ / 6 );
