undefと0と空文字列

1
$elm = {} unless defined $elm;
1
$elm ||= {};
                             <p>「<a href="http://www.amazon.co.jp/gp/product/4844322893?ie=UTF8&amp;tag=nqounet-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4844322893">まるごとPerl! Vol.1</a><img src="http://www.assoc-amazon.jp/e/ir?t=nqounet-22&amp;l=as2&amp;o=9&amp;a=4844322893" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />」という本に、Perl6の事について触れられていたのだが、その中で「||=」について書かれていた。<br />

definedという関数は、未定義(undef)かどうかを判定して返す関数で、未定義以外の場合は真を返す。 なので、例えば$elmが「0」や「空文字列」だった場合は、左辺の式は実行されない。

1
$elm //= {};
                          </div>
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy