タグ

ブックマーク / perl-users.jp (6)

  • hellow ikachan! - Articles Advent Calendar 2011 Anysan

    今日は AnySan を利用したプロダクトを紹介するよ! このトラックに参加したい人は http://atnd.org/events/22890 からどしどし頼むぜ! 皆さんは、日々のお仕事の中で様々なバッチ処理やデプロイツールまたはCIツールを動かすと思います。 一般的なネット系のエンジニア仕事のコミュニケーション手段として IRC を用いているというのが有名ですが、これらバッチ処理の処理状況等を普段の生活環境である IRC に流せたら便利だとおもいませんか? いや、便利なんです!すごいですよ! そこで僕はどんな環境からでも IRC 通知をするための環境として ikachan を作りました。 IRC への発言を Web API 経由で操作出来るんです。 Perl とかすら入ってないサーバでも curl などの HTTP が喋れる環境 or echo コマンドと telnet コマンドさ

    hellow ikachan! - Articles Advent Calendar 2011 Anysan
  • App::Rolling - 標準入力を世代管理されたファイルに書き出す - Articles Advent Calendar 2011 Hacker

    前置き こんにちは。bayashi です。みなさん、意識は高まっていますか? 僕は上々です。今回は拙作の App::Rolling というモジュールを紹介いたします。 といっても、絶賛開発中のモジュールなので、ここで紹介したインターフェースは変更されるかもしれません。 つまり、人柱、大歓迎で㌃ 何をするモジュール? App::Rolling は、標準入力を世代管理されたファイルに書き出す目的で作っています。例えば、いつ起きるかわからない適当な通信のTCPダンプを取得したい場合、ひとつのファイルにひたすら書き出して捉えるのは、なんとなく気が引けますよね。そんなとき、App::Rolling に同梱される roll コマンドを使えば、好きな間隔で、好きな世代だけローテートさせながら、ファイルに書き出すことができるようになります。 通常、以下のようにダンプとったりしますね。 $ /usr/sbi

    App::Rolling - 標準入力を世代管理されたファイルに書き出す - Articles Advent Calendar 2011 Hacker
  • バイナリファイルを解析する

    Perlといえばテキスト処理や正規表現が得意で、バイナリを扱うような話についてはあまり聞かない印象があります。Perlが持つ関数pack/unpack等でもバイナリ処理は可能ですが、今回はData::ParseBinaryを使ってバイナリファイルを気軽に解析してみましょう。 基 ファイルからストリームを作る 解析したいファイルをData::ParseBinaryで扱えるストリームに変換します。 use Data::ParseBinary; my $stream = CreateStreamReader(File => $file_handle); 解析したい構造を定義する Struct関数で解析したい構造を定義します。Struct以下には基データ型やコンテナ型、ビット/バイトパディング型、制御構文型等を使用できます。各型に指定したラベルが解析結果として得られるハッシュのキーとなります。

  • myのリファレンス

    $ cat cool.pl use strict; use warnings; sub lopnor { my $val = shift; $$val = 'soffritto'; } lopnor(\my $danjou); print "he is $danjou\n"; $ perl cool.pl he is soffritto 「\my $vars」と書く事により変数の定義をしつつ戻り値で、その定義した変数のリファレンスを返す。 よって、関数の引数に「\my $xxx」と書くとコンパクトに書ける。 が、これはTTくらいでしか使ってるの見た事無い。 つぎのバトンはid:lestrratさん。

  • 無名スカラー変数のリファレンス

    my $array_ref = [qw/a b c/]; my $hash_ref = +{1 => 'a', 2 => 'b', 3 => 'c'}; my $code_ref = sub {'a'}; Perlでは、無名配列のリファレンス 無名ハッシュのリファレンス、無名サブルーチンのリファレンスはこのように書けますが、無名スカラーのリファレンスを書く特別な構文はないので、以下のように書きます。 my $scalar_ref = \do {'a'}; これはDamian Conway先生オススメのインサイドアウトオブジェクトのコンストラクタで見られる書き方です。 { package Person; my %props = (); sub new { my $class = shift; $prps{name} = 'John'; bless \do{''}, $class; } sub

  • JPerl Advent Calendar 2008

    JPerl Advent Calendar 2008 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな?

    youpy
    youpy 2008/12/22
  • 1