• ベストアンサー

Perlの処理について

Perlの処理について分からない事があります。 ご存知の方アドバイスを頂けますよう よろしくお願い致します。 (分からない処理内容) 下記処理内容で、$hensuがどういう時に &errs()をコールするのか分かりません。 アドバイスを頂けますよう よろしくお願い致します。 $hensuは、変数です。 &errs()は、個別で作成した関数です。 $Errorpathは、Errorファイル名です。 ( $hensu !~ /^( | |\\n)*$/ ) || ( &errs( 11, $Errorpath ) and exit );

質問者が選んだベストアンサー

  • ベストアンサー
noname#25358
noname#25358
回答No.1

 これ、練習問題ですか?(^_^;  もしかして分かりづらい処理をいかに理解するか、とか、その手の意地悪問題でしょうか。  もしこれが、実際に稼動しているプログラムの一部であれば、これを作った人はかなりの偏屈家です。  えとですね。このプログラムは、『もし $hensu の内容にスペース、全角スペース、改行のみによって構成されるか、もしくは空文字ならば関数 errs を呼び、のちに終了する』という文面になります。  ようするに入力された文章が、中身のあるものであるかどうかをチェックしています。  まず演算子 !~ は、=~ の否定形です。  正規表現は『内容がスペース、全角スペース、改行の3種の文字のみによって構成されるか、空文字ならば』の意味です。  || は、『その実行が偽を返すならば、続く文を実行する』の意味です。  こういう三重否定はあとで読んだとき自分も分からなくなるので普通はしませんが、頭の体操程度には役に立ちますね。

hanto123
質問者

お礼

ありがとうございます。 大変勉強になりました。

関連するQ&A