undef/definedってとっつきにくい?
昨日開始(再開?)したブログでいきなり80PVとスター2個とブクマ1個をもらった。前回のブログではPVほとんど皆無だったのでこれには驚いた。やっぱりはてなはアクティブユーザー率高いのかしら。もしくはエンジニアつーことで食いつきがよかった?はてな村民はエンジニアいかにも多そうだもんなー。
さて、d:id:orangevtr:20080726でも言及したとおり現在はだいぶがりがりプログラム書く立場に戻ったんだけど、基本はPerl。前回のソリューション事業部ではPHPが主流だったんだけど、如何せんフレームワークがイケてなかったのでRuby on Rails導入しようぜ、と躍起になっていたんだけど結局同志引き連れてメディアに来たら主要言語はPerl。
実はプロフィールにも書いたとおり個人的にはPerlが一番好き。Ruby(+ Rails)も今から覚えてもいいんだけど、Perlのリテラルが心地よすぎる。加えてCPANの充実っぷりが追随を許さないのは言わずもがな。
という訳でPerl暦が一番長いのでRuby on Rails推進の流れの中実はPerlをずっとやりたかったのでした。その中での紆余曲折や、ここ数ヶ月で改めて理解したり、最近のトレンドを吸収したりした話は追い追い書くこととして・・(きっと!)おそらく初心者が書いたと思われるコードでかなりカルチャーショックを受けたソースがあった。
if ($media_data eq undef) { # hogehoge.. }
おいおい。
undefって値じゃないよね。本来のコードは当然
if (!defined($media_data)) { # hogehoge.. }
だよね。でもよく考えたらundefってヘンだよな。
undef $a;
とも書くし、
$a = undef;
とも書くもんね。Javaのnullやrubyのnilみたいに考えると前述のように書いちゃってもおかしくないか。
以上、今日はとりあえず小ネタで。。あーもうこんな時間っすね。