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"