Perl のクロージャ

  http://d.hatena.ne.jp/naoya/20060109/1136812096

  クロージャをどういう時に使うと良いのかのまとまった資料.

  • クラスにデータを保持するためのクロージャ
  • サブルーチンテンプレートとしてのクロージャ
  • カウンターとしてのクロージャ
  • メンバポインタとしてのクロージャ
  • 高階関数としてのクロージャ
  • bless を使わないでオブジェクト相当のものを作るためのクロージャ

  上記について説明.サブルーチンテンプレートとしてのクロージャなんかは理解しやすいかも.

10 分で完了、mod_perl 2.0 で Hello, World!

  http://d.hatena.ne.jp/naoya/20060108/1136705441

  Apache 2.x + mod_perl 2.0 な環境でとりあえず Hello, World! を出力するまでの流れ.

標準出力に色を付ける Perl ライブラリ Term::ANSIColor

  http://search.cpan.org/~rra/ANSIColor-1.10/ANSIColor.pm

  なるほど,世の中には便利なライブラリがあるもんだ.

#!/usr/bin/env perl

use strict;
use warnings;
use Term::ANSIColor qw(:constants);

$Term::ANSIColor::AUTORESET = 1;

print BOLD RED   "RED\n";
print BOLD GREEN "GREEN\n";
print BOLD BLUE  "BLUE\n";


- via: memo.xight.org
  http://memo.xight.org/2006-01-04-6

- ref.:
  [2006-01-07-5] 標準出力に色を付ける Perl ライブラリ Term::ANSIColor
  [2006-01-09-2] 標準出力に色を付ける PHP ライブラリ PEAR::Console_Color

いろいろな言語による Ruby on Rails 風味のフレームワーク

- Alternatives to Ruby on Rails
  http://marcusvorwaller.com/blog/archives/2005/12/15/alternatives-to-ruby-o ...

  まあ,いろいろ増えてきましたね.

- via: vimrc diary
  http://vimrc.hp.infoseek.co.jp/diary/2005-12.html#2005-12-30-1

ソースコードを色付けする Perl モジュール Text::VimColor を Template Toolkit から利用する

- Template::Plugin::VimColor
  http://d.hatena.ne.jp/naoya/20051231/1135999751

  Template::Plugin::Filter 実装.

  Template Toolkit ではなく,HTML::Template でうまく使えるようにして chalow で使いたいなぁ.

- Text::VimColor
  http://search.cpan.org/~geoffr/Text-VimColor-0.09/lib/Text/VimColor.pm

Perl でラヴレター

our $life = \$love and $togetherness;
and: foreach my $sweet (@first) {
little: until ($we . $met) { last 'and' }
}
if ($now . $we) { goto marry; $we . $shall }
bless our $life, More;


  上記 Perl のコードはもちろん動きます.何もおきませんが…
  ちなみに『プログラミング Perl』にも Perl で書かれた詩がいくつか載っています.

- Jabberwocky and London.pl
  http://www.runme.org/feature/read/+londonpl/+34/

- via: koyachiの日記
  http://d.hatena.ne.jp/koyachi/20051209/1134057305

- プログラミング Perl
  4873110971
  http://www.amazon.co.jp/o/ASIN/4873110971/todaysnonsenc-22/ref=nosim/
  Larry Wall (原著), Jon Orwant (原著), Tom Christiansen (原著), 近藤 嘉雪 (翻訳)
  オライリー・ジャパン
  ISBN: 4873110971
  2002/09
  4,935 円

YAPC::Asia 2006 Tokyo 開催

  http://tokyo.yapcasia.org/blog/ja/2005/12/yapcasia_2006_tokyo.html

  Perl のカンファレンス YAPC (Yet Another Perl Conference) が 2006/03/29-30 に
  東京で開催とのこと.むむむむ,微妙な時期だ…

Gmail を IMAP でアクセスできるようにする Perl モジュール GMail::IMAPD

  http://search.cpan.org/~krs/GMail-IMAPD-0.92/lib/GMail/IMAPD.pm

  適当なポートでデーモンとして待ち受けして,IMAP でアクセスできるようにする.

- via: vimrc diary
  http://vimrc.hp.infoseek.co.jp/diary/2005-12.html#2005-12-15-2

Perl の use と require の違い

  http://iandeth.dyndns.org/mt/ian/archives/000592.html

use はコンパイル時に評価される
require は実行時に評価される

  よく知られている通り上記で OK みたい.
  ただ,もう少し細かく具体的に説明されてあります.

入力行に時刻を付けて吐き出すフィルタ

  http://pmakino.jp/tdiary/20051205.html#p01

  なるほど!いいアイディア.でも,出力をファイルにリダイレクトするならば,
  バッファリングしてはいけない予感.

  で自分の趣味的に書き換えたのが,以下.

#!/usr/bin/env perl
use strict;
use warnings;
use POSIX qq(strftime);
$| = 1;
while (defined(my $line = <>)) {
    print strftime('%Y/%m/%d %H:%M:%S ', localtime), $line;
}

$ ping -s localhost | ./puttime.pl > ping-localhost.log

  とかして放置しておくと,

$ cat ping-localhost.log
2005/12/06 21:25:37 PING localhost: 56 data bytes
2005/12/06 21:25:37 64 bytes from localhost (::1): icmp_seq=0. time=0. ms
2005/12/06 21:25:38 64 bytes from localhost (::1): icmp_seq=1. time=0. ms
2005/12/06 21:25:39 64 bytes from localhost (::1): icmp_seq=2. time=0. ms
2005/12/06 21:25:40 64 bytes from localhost (::1): icmp_seq=3. time=0. ms

  ああ,これは便利だ.