人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

最近 Perl の勉強をしているものです。

Perl は同じことが出来るコードでも、幾通りも書き方があるところが凄く気に入っています。もっともっといろんな書き方を試してみたくてしょうがありません!

そこで、 Perl のトリッキーなワンライナーを教えてください。意味のないプログラムでオッケーです。へー!こんなことできるんだ!っていう感動を味わいたいんです。

以下、回答条件です。
-プログラムは 1行 200文字以内でお願いします。
-何が出来るプログラムでどういう仕組みかも教えていただけると嬉しいです。
-いろいろな人の回答を見たいので回答は一人ひとつまでとさせてください。

おもしろいプログラムほど、ポイントを弾みます。
それでは、よろしくお願いいたします。

●質問者: amachang
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Perl ひとつ コード トリッキー プログラム
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● dropdb
●1ポイント

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print "<html>\n";

print "<head><title>love</title></head>\n";

print "<body>amachang カッコイイ</body>\n";

print "</html>\n";

exit;

ポイントは要りません。

◎質問者からの返答

ムカムカ

しかも一行じゃないし

以下、まじめにお願いします。


2 ● ootatmt
●100ポイント ベストアンサー

定番ですけど。

@data = map {$_->[0]} sort {$a->[1] cmp $b->[1] or $b->[2] <=> $a->[2]} map {[$_, split /,/]} @data;

@data の中身を、第1項でソートし、さらに第2項で降順ソートする というプログラムです。


解説はこちらで。

http://www.din.or.jp/~ohzaki/perl.htm#SortMulti

◎質問者からの返答

おおおお。なるほど。これは頭の体操になりますね!

最初に map で [$_, split /,/]という冗長なデータを作ってから複雑なソートをするんですね!すごい!


3 ● k12u
●20ポイント

オリジナルじゃなくてすみません。そして多分ワンライナーじゃなくてすみません。

Effective Perl

http://www.ascii.co.jp/bookmart/pdf/47561/4756130577.pdf

のp.61にある「シャチ泳ぎ」なんてどうでしょうか。

ので気に入っています。

P.63のShwartz変換も結構おもしろいです。

◎質問者からの返答

情報ありがとうございます。

||= はよく使うのですが、ソートとかで重い処理をする場合には意識的に使おうと思いました^^


4 ● zigorou
●20ポイント

use strictとか当然無しでお願いします。

not exp log srand xor s qq qx xor
s x x length uc ord and print chr
ord for qw q join use sub tied qx
xor eval xor print qq q q xor int
eval lc q m cos and print chr ord
for qw y abs ne open tied hex exp
ref y m xor scalar srand print qq
q q xor int eval lc qq y sqrt cos
and print chr ord for qw x printf
each return local x y or print qq
s s and eval q s undef or oct xor
time xor ref print chr int ord lc
foreach qw y hex alarm chdir kill
exec return y s gt sin sort split

これちょっとずるいかなー?

◎質問者からの返答

ちょwwすごいなww てか、微妙にワンライナーじゃない気が・・・・。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ