[kansaipm] この式はなんでしょうか?

IWAI, Masaharu iwaim at cc.mbn.or.jp
Wed Jan 8 10:34:03 CST 2003


岩井です。

On Thu, 09 Jan 2003 01:04:27 +0900
Subject: [kansaipm] この式はなんでしょうか?
Message-Id: <20030109005315.8D07.BACON at palette.plala.or.jp>
Makoto Matsuura <bacon at palette.plala.or.jp> wrote:

>    $FORM{EMAIL} ||= $SENDFROM;
>    
> メールプログラムにこのような記述があったのですが
> 一体何をしているのでしょうか?
> 論理和+イコールって特別な意味があるのでしょうか?
> $SENDFROM に値がなかったら代入しないとかでしょうか?

「||」と「=」の優先順位の問題ですね。
「$FORM{EMAIL}」が「偽」ならば、「$FORM{EMAIL}」に
「$SENDFROM」の値を代入という動きになります。

$foo = 'foo';
# $bar = 'bar';
$bar ||= $foo;
print $bar . "\n";

で 2 行目をコメントアウトしたりしなかったりしてみると
わかりやすいかも。

個人的には
$FROM{EMAIL} = $SENDFORM unless( $FORM{EMAIL} );
とか書いちゃうなぁ。


> あと、SQLとperlDBIを一から学ぼうとしたら
> やっぱりシーラカンス本が一番分かりやすいでしょうか?

シーラカンス本では DBI を使ってなかったはず。
# そもそも、今一番新しい奴は Perl での例がなかった気が(^^;


-- 
いわい





More information about the Kansai-pm mailing list