部屋を掃除したら漫画が沢山出てきたので書く日記

漫画とか合唱とかUNIXとかLinuxとかについて書く日記です。

perlで世界のナベアツ問題 その後

昨日突然、会社の同期にブログを見つけられて、二年前に書いたperlで世界のナベアツ問題について指摘を受けました。曰く、「こんなのワンライナーじゃねえ」はいその通りです。

で、指摘してくれた同期によるお手本が以下の通り。アルゴリズムを替えずにこんなに短くなるものなのですね。
体裁を整えるため改行していますが実際は「\」の無い一行となります。

バージョン0.1

perl -le 'print ((!($_%8))?"$_ぅぅういえぇえあ"\
:(!($_%3) or $_=~/3/)?"$_っ!!":$_)for(1..40);'

バージョン0.2

perl -le 'print ((!($_%8))?"$_ぅぅういえぇえあ"\
:(!($_%3) or /3/)?"$_っ!!":$_)for(1..40);'

バージョン0.3(最新バージョン)

perl -le 'print !($_%8)?"$_ぅぅういえぇえあ"\
:(!($_%3) or /3/)?"$_っ!!":$_ for(1..40);'

以下の通りご本人による解説を書いていますので見てみよう。
http://www.jp-z.jp/changelog/2010-01-05.html#2010-01-05-1


ではー。