idpass.pl

line 1-2:

一行目は perl へのパスです。ご利用の環境に応じて適宜書き換えてください。

line 3-4:

変数 $login_id$login_pass に、それぞれ「ユーザ名」と「パスワード」を代入しました。

line 5:

モニタに Please, enter your name; が表示されます。

line 6:

五行目に従って、キーボードから入力された文字列は、ハンドル <STDIN> に取得されて、変数 $name に代入されます。その後で、 chomp によって、変数 $name に代入された文字列の改行文字が削除されます。

line 7-11:

7 行目から始まる if 文は、 21 行目まで続いています。

line 7:

この条件文で、キーボードから入力した文字列が、変数 $login_id に一致しているかどうかを判定します。真(一致する)であれば、 8 行目から 18 行目までのブロックが実行されます。偽(一致しない)であれば、 20 行目の else ブロックが実行されます。

line 10:

while は、条件文が真であれば、ブロック内( 10 行目から 17 行目まで)を繰り返し実行します。今の場合は、条件文が 1 であり、常に真ですから、無限に繰り返します。

line 11:

キーワード入力を、変数 $pass に代入します。更に、 chomp によって、この文字列から改行文字を削除します。

line 12:

if 文は 12 行目から 17 行目まで続いています。

この条件文は、キーボード入力された文字列が、変数 $login_pass に一致するかどうかを判定します。真であれば、 12 行目から 15 行目までの if ブロックが実行されます。一方、偽であれば、 16 行目の else ブロックが実行されます。

line 13-14:

モニタに、"パスワードが確認されました。" と表示してから、 last によって、繰り返しを抜け出します。

line 20:

モニタに、"もう一度パスワードを御願いします; "と表示します。

FC2> モビット