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

  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

  ああ,これは便利だ.