タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

codingに関するimo758のブックマーク (2)

  • ワンライナー記号化スクリプトを書いた - すぎゃーんメモ

    何かの拍子にこの記事を見かけてしまい、衝撃を受けた。 2006-11-07 - 兼雑記 Perlってこんな変態プログラムが書けてしまうのか…!!と。 記号だけでプログラムが書けてしまうとは全然知らなかった。 何度も読み返してようやく理解した範囲では、 拡張正規表現の構文を利用して任意のコードを実行させる 文字列は文字列同士の排他的論理和をとることで生成できる ということらしい。 なので、「どの文字とどの文字の排他的論理和がどの文字になるか」を把握していれば、そこから文字列を生成することができるわけで、自分でもこうした記号プログラムが書けるのではないか?と思って、作ってみた。 任意のワンライナーを記号で表現しなおすためのスクリプト。(2/8 ちょっと修正) #!/usr/bin/perl use strict; use warnings; # 変換辞書 my $dict = &create_

    ワンライナー記号化スクリプトを書いた - すぎゃーんメモ
    imo758
    imo758 2009/02/06
    変態すぎる
  • ヒアドキュメントの中でPerlの式を書く

    初代新幹線「0系」最後のラストランの日に、新幹線N700系のぞみでイーモバイルしながらこの記事を書いているid:TAKESAKOです。 Perlのヒアドキュメントを使うと複数行にわたる文字列を一気に代入したりするときに楽なので、使っている人も多いと思います。 my $foo = "bar"; my $tmp = time(); # ←関数の実行結果 print<<EOF; <div class="${foo}1"> <h1>TIME: $tmp</h1> </div> EOF しかし、ヒアドキュメントの途中でサブルーチンの実行結果も一緒に埋め込みたいときがでてくるときがあります。 @{[ Perlの式 ]} そのようなときは、@{[ リスト ]} というイディオムを使うと非常に便利です。 print<<EOF; <div class="${foo}1"> <h1>TIME: @{[ tim

  • 1