'%h=map{split/:/,$_,2}@F;print"$h{time}\t$h{ua}"'なぜPerlワンライナーなのか?LTSVログを解析するには、Perlのワンライナーに限る。Perlはほとんどのサーバにデフォルトで入ってるから。5.8で動くワンライナーを覚えておけばどの環境でも使える。「何にも依存しない」これ最強。基本中のキホンまずは基本形です。これだけは絶対覚えてしまいましょう。してるのと同じことです。これさえ覚えれば勝ちです。'print'が覚えられないって?「ネイルプリント」とでも覚えておきましょう。@F'出力はさっきとほぼ同じです。Geckotaken:145ここまでだとあまり実用性はないです。面白いのはここからだ・・・!!行列の縦横変換だんだん実用的になってきます。+0900]host:10.10.200.102ident:-user:-method:GETpath:/images/user.gifだいぶ見やすくなりました。1リクエストごとの切れ目がないのでちょっと見にくいですね。区切りを入れてみましょう。+0900]host:10.10.200.102ident:-user:-だいぶ見やすくなりました!急いでるときはこんなんでも十分でしょう。行をハッシュに変換するLTSVのメリットはハッシュと相性がよいことです。PerlでLTSVの行をハッシュに変換するには次のようにします。Gecko見やすい!Data::Dumperモジュールを使ってハッシュを丸ごと表示してみるのもよいでしょう。'HTTP/1.1',べんり!おまけ:ログファイルは必ずパイプで渡すさてここまで読んで、「わざわざ左でcatコマンド起動するの馬鹿じゃね?」と思われたかもしれません。catするぐらいなら、ファイル名を右に書く、つまり標準引数や入力リダイレクトを使う方が、速度は速いでしょう。access_logしかし左側にcatをわざと書いたのには理由があります。...この形を覚えておけば、catのかわりにtail,head,grepなどを使うときに楽なのです。