タグ

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

  • Perldocの話 - JPerl Advent Calendar 2009

    Perldocの話 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? lestrratこと牧です。AnyEventの話を書こうと思ったけど、それはを書くくらいの厚さになりそうなのでやめました。「リアルタイムWebのためのPerl」って書きたいので、編集さん誰か連絡ください。 ああ、advent calendarでした。 カジュアルトラックなので、カジュアルに使うために有用なテクニックってなんだったのかと考えたのですが、やっぱりperldocじゃないかな、と。僕がperlを2000年頃に使い始めてまず感動したのはドキュメントを漁りにネットに繋げなくてもよいということでした(当時はJavaを大学で使っていたので、ものすごく頻繁にjava.sun.comのjavadocページを見ていた)。 コマンドライン

  • DBIx::RewriteDSN で - JPerl Advent Calendar 2009

    前置き みなさんこんにちは、cho45 です。 こちらは hacker track ということで、僕がつくったモジュールの一つを紹介したいとおもいます。今回ご紹介するモジュールは DBIx::RewriteDSN です。 DBIx::RewriteDSN は非常に小粒なツールですが、なかなか苦しいモジュールなんじゃないかと自分でもおもっています。使わなくていいなら幸せでしょうね。 歴史あるプロジェクトを開発する際、データソースがハードコードされているというようなケースはままあります。さっさと書きかえられる程度ならばいいのですが、修正箇所が多ければ多いほどミスが発生しやすいわけですし、それが番のデータベースであるならば、一箇所ミスをしただけで甚大な被害が出ることも予想するに難しくありません。 「DBI は使っているが、データベースサーバへの IP などが各所にちらばっており、こわくて

  • Chart::Gnuplotでグラフを生成してみよう - JPerl Advent Calendar 2009

    はじめに Perlでグラフを生成するためのモジュールとしては,グラフィックライブラリGDを利用したGD::Graphとか,GoogleChart APIを利用したGoogle::Chartとかが挙げられますが,最近,ふとしたきっかけで,Chart::Gnuplotなるモジュールの存在を知り,実際に使ってみたところ,なかなかいい感じでした. 今回は,そのChart::Gnuplotについて簡単に紹介してみます. Chart::Gnuplotの概要 グラフ描画系のツールのひとつにgnuplotというものがあります. http://www.gnuplot.info/ スクリーンショットを2点. http://farm3.static.flickr.com/2663/4166426208_a8aa809708_o.png http://farm3.static.flickr.com/2646/41

  • Inline::x86でPerlの中に直接機械語を書く - JPerl Advent Calendar 2009

    Inline::x86でPerlの中に直接機械語を書く - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 前置き こんにちは、id:TAKESAKOです。最近コロプラにハマるようになってきて近郊遠方の国内出張が楽しくなりました。JPerl Advent Calendar 2009 Hacker Trackも9日目ですね。そろそろPerlのソースを読むだけでは飽き足らずx86の機械語を書きたくなってきたんじゃないでしょうか。そんなわけで、今日は稚拙のInline::x86を紹介します。 題 皆さんの中にはよくx86を書く方もいらっしゃると思いますが、x86機械語を含むコードインジェクションは実行環境の設定が結構大変ですよね。Linuxのシステムコールmprotectを呼び出して実行ビットを追加で指定した

    xaicron
    xaicron 2009/12/10
    "同様の機械語を何度も書いたり見かけたりしているうちに"
  • Encodeでラクラク日本語処理 - JPerl Advent Calendar 2009

    こんにちは!ラブプラスとときメモ4の狭間で揺れ動いているxaicronです!! 今日は日でプログラムを書いていたら避けては通れない気がする、Encodeの話をしようと思います! はじめに まず、この記事を読む前に、Perlのバージョンの確認をしてください。以下のようにやればバージョンが表示されます。 % perl -v ここで、5.8.1より下の数字ができてきた方は、Perlのバージョンアップをしてください。5.8.1より下のバージョンでは、Perlの内部文字コードが安定していないので、いい感じになりません。できれば5.8.8以上のバージョンを使いましょう。 それから、文字コードってなによって人も適当にWikiとかで調べてから読んだ方がいいと思います!! Encode.pm Encodeは昔のjcode.plやJcode.pmに代わる、現在の文字コード処理のスタンダードModuleです。

  • Perl::Tidyで明快コーディング! - JPerl Advent Calendar 2009

    Perlのコードを書くとき、CPANモジュールを作成するとき、そして就職活動時のエントリーで課題のperlスクリプトを提出する時に超実益的で役立つ、Perl::Tidyを紹介してみます。 使い方 以下のような汚いコードがあるとします。mud10years.plとでも名付けることにします。 use strict;use warnings;my $module="Perl::Tidy";my $user= "haoyayoi";my $desc1=" is so coolist module.";my $desc2= " Lets try it!";my $deschash = {module=>"$module", desc =>$desc1. $desc2, }; print $deschash->{module}.$deschash->{desc}." by $user"; このコードを

    xaicron
    xaicron 2009/12/09
  • Module::Install::XSUtilでXSモジュール用のMakefile.PLを書く - JPerl Advent Calendar 2009

    前置き こんにちは,gfxです。好きなソースはタルタルソースとsv.cです。JPerl Advent Calendar 2009 Hacker Trackも8日目ですね。そろそろTipsを読むだけでは飽き足らず,モジュールを書きたくなってきたんじゃないでしょうか。そんなわけで,今日はModule::Install::XSUtilを紹介します。 題 皆さんの中にはよくXSを書く方もいらっしゃると思いますが,XSモジュールを含むディストリビューションはビルド環境の設定が結構大変ですよね。build_requiresにExtUtils::ParseXSやXSLoaderを指定したり,make_maker_argsにOBJECT => '$(O_FILES)'を指定したりする必要がありますし,Cコンパイラは使えるか,Cコンパイラの警告を有効にしたい,ppport.hは十分に新しいか,などなど考え

    xaicron
    xaicron 2009/12/08
  • Acme::EyeDropsでアナタも記号プログラマー! - JPerl Advent Calendar 2009

    最近、全裸で転職しました。sugyanです。 まだまだPerlのことはよく分からないトーシロですが、大好きなモジュールを紹介したいと思います。 はじめに Perlは非常に柔軟な言語で、TMTOWTD【There's More Than One Way To Do It.】と言われる通り、同じ処理をするプログラムでも色んな書き方ができます。 例えばプログラムを予約語だけで書いてみたり、記号だけで書いてみたりできちゃうわけですね。 そんなスーパーハッカーみたいなことをやってみたい!という願望はPerl好きの変態な皆さんなら誰しも持っているのではないでしょうか!? 今回紹介するモジュールAcme::EyeDropsは、そんな変態プログラミングをお手伝いしてくれるモジュールです。 CPANからインストールできます。最新バージョンは1.55です。 使い方(初級編) まずは何も考えず普通のプログラムを

  • Plack::Requestとか使って小さなWebアプリを作ろう! - JPerl Advent Calendar 2009

    ヒゲをはやして、髪をモヒカン気味に切って、ベストを着ていたら「dankogaiさんですか!」と呼ばれまくって失礼ですがショックを受けてしまい、とりあえずヒゲを剃ってみたyusukebeです。気合い入れて書きます。 はじめに さて、今回はPlack::RequestやTemplate-Toolkit、XML::Feedといったモジュールを使って、小さな、だけどもなかなか使えるWebアプリを作る過程を紹介します。これを通して、今話題であるPlackについてやWebアプリの仕組みについて多少でもわかっていただければこれ幸いでございます。 実はこのネタ昨日の夜考えて作ったものであります。というのも「YouTubeの動画を垂れ流しで好きなように、みてーな」とふと思ったからです。例えばYouTube内で「Perfume」と検索をすると個別の動画以外に「再生リスト」または英語では「Playlist」とい

    xaicron
    xaicron 2009/12/07
    Chekera!
  • Mac OS Xでもlocal::libをつかってCPANモジュールを入れよう - JPerl Advent Calendar 2009

    Mac OS Xでもlocal::libをつかってCPANモジュールを入れよう - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 概要 local::libは簡単にいうとCPANモジュールをシステム標準とは違う任意のディレクトリにインストールする設定を支援してくれる便利ツールです。root権限の無いレンタルサーバーでCPANモジュールをインストールするために使われたり、Remedieのように依存CPANモジュールごとまとめて配布するのに使われたりします。 今回はMac OS Xでsudo権限を使わずにCPANモジュールをインストールするための方法を解説します。 標準のPerlのモジュールと後からインストールしたCPANモジュールを別ディレクトリに分けておけるので OSのインストールしなおしでもバージョン

  • Test::LoadAllModules で全てのモジュールがuseできるかテストする - JPerl Advent Calendar 2009

    前置き みなさんこんにちは、dann です。 こちらは hacker track ということで、僕がつくったモジュールの一つを紹介したいとおもいます。今回ご紹介するモジュールは Test::LoadAllModules です。 題 Test::LoadAllModules は非常に小粒なツールですが、なかなかいいモジュールなんじゃないかと自分でもおもっています。 モジュールを作るときには、「このモジュールがuseできるか」というようなテストをすることはままあります。00_compile.tなどで以下のようなコードを書いたり、モジュールごとのテストでuse_okするコードなどを書いているのではないでしょうか。 例えば、従来は、毎回以下のようにコードを書いていました。モジュールが増えるとuseできるかのテストするコードが増え、書き忘れたりするため冗長です。 use strict; use T

  • 休日なのでカジュアルに Sex の話しでも - JPerl Advent Calendar 2009

    休日なのでカジュアルに Sex の話しでも - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? こんにちわ Wii のマリオが面白くてこの記事かくの忘れててべにぢょ忘年会遅刻確定の Yappo です。お元気ですか? 一昔前の日人はクリスマスはセックスをする口実として悪用していました、そんな日人の悪しきクリスマスの風習として馴染み深い Sex モジュールのご紹介です。 http://search.cpan.org/~mschwern/Sex-0.69/Sex.pm 何が出来るモジュールと、その名前の通りモジュールとモジュールとで Sex させるためのモジュールです。 愛しあったら、このモジュールは二人の特徴を受け継いだ子供を作ってくれます。 技術的な言葉で説明すると、多重継承をすることができます。 例え

  • cpan -i CPAN - JPerl Advent Calendar 2009

    cpan -i CPAN - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 12月ですね。メリークリ○○ス!! 半年前に0x20歳でエンジニアになった Perl 大好き bayashi です。こん○○は! さて、 今回は何について書こうかなと迷ったのですが、せっかくなので初心に戻って Perl になくてはならない CPAN をご紹介させて頂ければと思います! CPAN.pm その CPAN からモジュールを自動的にダウンロードしてインストールするためのモジュールが CPAN.pmperl5.004 から標準モジュールなので、取り急ぎインストールされてないってことはあまりないかと思います! % perl -MCPAN -e shell おまじないのように cpan shell を立ち上げているかもし

  • Q4M を使ってる時のシグナル処理に注意 - JPerl Advent Calendar 2009

    Q4M を使ってる時のシグナル処理に注意 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめに 今日は趣向を変えて、 tips さんを。 Q4M だけに限った話ではなく SELECT SLEEP(10); とかしてる時でも良いんですが、今回は Q4M を使ってる時の注意という話です。 Data::Model の Q4M 対応では、もちろん DBI を使って Q4M を使うわけですが、これとシグナルを組み合わせるとシグナルを送った直後にシグナルハンドラを呼ばないんですね。 例えばこんなの # こいつは、 Q4M の queue_wait が終わるまでシグナルをトラップしない local $SIG{INT} = sub { warn "int" }; $queue->queue_running( qu

  • Don't use DBIx::Class::UTF8Columns - JPerl Advent Calendar 2009

    Don't use DBIx::Class::UTF8Columns - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 自分のつくったもジュールを紹介するハッカートラックということで、僕は DBIx::Class に同封されている DBIx::Class::UTF8Columns について書きます。 まず最初に、このモジュールをつかわないでください。 DBIx::Class::UTF8Columns は DBIx::Class のコアモジュールになってから、utf8 を扱う場合はこのモジュールを使うといいよという記述をいろいろなところで目にします。しかしこのモジュールがしていることを理解せずに使用すると予期せぬ不具合に悩まされるかもしれません。今日はこのモジュールを使わない方が良い理由と、その代替案を示

  • optsでコマンドラインオプション - JPerl Advent Calendar 2009

    optsでコマンドラインオプション - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめに こんにちは、mikihoshiこと ふしはらかんです。去年はadvent calendarが完成したら参加者全員に寿司をおごることにいつの間にかなっていたのに、私自身はcalendarに執筆者として参加できませんでした。今年は参加できて嬉しいです(今年もおごらないといけないようですが)。 perlでコマンドラインオプションを扱う perlは様々な用途に使われていますが、サーバ上でバッチ処理などを行なうスクリプトに使われるのも、良くある利用法の一つですね。 簡単な処理であればそれこそワンライナーで済みますが、何回も利用して、なおかつ毎回微妙に動作条件が違う、となってくるとオプション情報を引数として渡して実行した

    xaicron
    xaicron 2009/12/02
    今度から使う
  • 最速IPアドレスマッチ研修会 - JPerl Advent Calendar 2009

    最速IPアドレスマッチ研修会 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? もうすぐ2010年になるわけですが、携帯のサイトなどでアクセス元のIPアドレスがキャリアのIPアドレス帯域内にあるかどうかを確認したりすることがあると思います。 例えば、ローカルネットワークのアドレス(192.168.1.0/24)にマッチするかどうか $env->{REMOTE_ADDR} =~ s/^192\.168\.1\.(?:\d+)$/ なんて書くことがあると思います。ここであげたローカルのアドレスのような/24のIPアドレス帯域であれば簡単に正規表現を書くことが可能ですが、/25, /26 /23、/22などのCIDRは正規表現で表すことはなかなか難しいです。 また、携帯キャリアのアドレスであることを確認しよう

    xaicron
    xaicron 2009/12/01
  • JPerl Advent Calendar 2009

    JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 今年もやってきました、JPerl Advent Calendar。12月1日から25日まで、1日1個ずつ tips を紹介していきます。 今年は三だてです。はたして最後まで無事につづくのでしょうか。今年も無計画な上に面子がそろってないので、はらはらどきどきです >< Main Tracks Hacker Track

    xaicron
    xaicron 2009/12/01