配列・ハッシュが空かを調べる。 普通に if で。defined ではダメです。 ※defined はスカラーにのみ有効。 my @array = (); my %hash = (); if (@array) { # not empty } if (%hash) { # not empty } [参考] http://perldoc.jp/docs/perl/5.8.8/perldiag.pod
defined の挙動で相談されたのでソースコードを見てみたら、配列に対して defined を呼んでいた。 最近の Perl では配列に対して defined を使うのは非推奨である(perldata や perlfunc 参照)。 ほとんどの人が望むような判定結果は返ってこない*1。 perl -e '@a = (); print defined @a ? 1 : 0; push @a, 1; print defined @a ? 1 : 0; shift @a; print defined @a ? 1 : 0' 配列が空かどうかならスカラーコンテキストで評価するだけで OK なのだが、Perl プログラミング経験上、1度は defined を使用してしまうだろう。 ただ通常は警告が出るのですぐ気がつく。 この警告は Perl 5.6.0 以降で出る。 #!/usr/bin/perl
お久しぶりです。 このたび、株式会社はてなにおいて、私、近藤淳也、および経営陣の体制変更を行うはこびとなりましたので、ここでご報告させていただきます。 2001年のはてなの創業以来13年間、代表取締役社長を務めて参りました、私、近藤が、本日8月1日より代表取締役会長に就き、後任には、はてなの開発本部を率いて参りました栗栖義臣が代表取締役社長に就任いたします。 また、これまで私と二人三脚で共にはてなの経営にあたって参りました取締役副社長の毛利裕二は、ここでコンビという形から変わり、これからは取締役ビジネス開発本部長として、引き続き営業拡大・事業開発の分野にさらに尽力してもらうこととなります。 また、これに合わせ、3人の創業メンバーの1人でもあります大西康裕が執行役員サービス開発本部長に就任いたします。 たった3人しかいなかった創業期に、がむしゃらにプログラムを書いて、たくさんのサービスを開発
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く