P.44
# ident.pl
# 暗証番号の照合(1)
# 照合回数の設定
$err = 2 ;
# 照合開始
while ($err--)
{
# 暗証番号の入力
print "\n 暗証番号(4桁):" ;
$id = <STDIN> ;
chomp $id ;
# 番号の照合
if ($id == 1234) {$true = 1; last }
# 文字形式の確認
elsif ($id < 1000 or $id > 9999)
{print "\n * 半角の4桁です * \n"; redo }
# 照合回数残の表示
print "\n * 番号が一致しません" ;
unless ($err == 0)
{print " (あと $err 回)" }
print " * \n"
}
# 結果の表示
if ($true == 1)
{print "\n * 正しい番号が入力されました * \n" }
else
{print "\n * 管理者にお問い合わせください * \n" }
P.49
# ident_s.pl
# 暗証番号の照合(2)
# 照合回数の設定
$err = 2 ;
# 照合開始
while ($err--)
{
# 暗証番号の入力
print "\n 暗証番号(4桁):" ;
$id = <STDIN> ;
chomp $id ;
# 番号の照合
$true = 1 if $id == 1234 ;
last if $true == 1 ;
# 文字形式の確認
$id < 1000 or $id > 9999 ? $inval = 1 : $inval = 0 ;
print "\n * 半角の4桁です * \n" if $inval == 1 ;
redo if $inval == 1 ;
# 照合回数残の表示
print "\n * 番号が一致しません" ;
print " (あと $err 回)" unless $err == 0 ;
print " * \n"
}
# 結果の表示
print $true == 1 ?
"\n * 正しい番号が入力されました * \n" :
"\n * 管理者にお問い合わせください * \n"