木曜日, 11月 30, 2006

[Perl]無限ループを書く最も簡単な方法?

普通無限ループといったら


while(1){
# なんらかの処理
}


といった形で書くと思います。
しかしPerlプログラマは怠惰です。一文字でも多くタイプするのを好まないでしょう。1をタイプするのが面倒なので次のように書きましょう。


while(){
# なんらかの処理
}


これで見事に無限ループしてくれます。

尚、当然ですが以下のように明らかに偽と評価されるものだとループに入りません。


while(undef){
# なんらかの処理
}

while(''){
# なんらかの処理
}

while(()){
# なんらかの処理
}

while(0){
# なんらかの処理
}


残念なのは後置にすると無限ループしないところです。これができれば更にタイプ量が減ってうれしいのですが。


print "hello." while();


きっと役に立たない知識ですね。。。(というより紛らわしいので迷惑です)
Perlがどう解釈しているのかさっぱりわからない。。。

0 件のコメント: