タグ

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

  • /articles/advent-calendar/2010

  • 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です。

  • DBICx::Modeler::Generatorでスキーマクラス群とモデルクラス群を一発生成しよう - JPerl Advent Calendar 2009

    DBICx::Modeler::Generatorでスキーマクラス群とモデルクラス群を一発生成しよう - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? ご挨拶 はじめまして、gardejoこと守屋と申します。金融ユー子で働いています。YAPC::Asia 2009の特別研修で、(16日目を執筆された)dankogaiさんの研修の後に、(15日目を執筆された)lestrratさんなどの特別補講を受ける機会に恵まれたのですが、「業務でCOBOLを使っている人?」という質問にただ独り挙手して、たいそう恥ずかしい思いをしました。 そんな勤め先では定例作業撲滅のためなどにPerlをゲリラ的に活用していますが、現場レベルでの対症療法であるに過ぎません。私にとってのPerlとは、エスペラント日語翻訳システムの開発な

  • DBIx::Encoding でPerlとDB間の文字コード & utf8 flagを透過的に扱う - JPerl Advent Calendar 2009

    DBIx::Encoding でPerlDB間の文字コード & utf8 flagを透過的に扱う - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめに はじめまして、myfinderといいます。 Casual Trackの記事をupしたときに話が出たので、記事を書いてみたいと思います。 今回ご紹介するモジュールは DBIx::Encoding です。 DBIx::Encodingは非常に小粒なモジュールですが、BKだなと自分でも思っています。 cho45さんの紹介されているモジュールと割と趣が近い気がします。 Casual Trackのxaicronさんの記事にもあるように、いわゆるモダンなPerl開発ではソースコードをUTF-8で記述し「use utf8;」し、文字列は「入力時にdecode、

  • Sub::Pipe で UNIX pipe みたいな関数適用をする - JPerl Advent Calendar 2009

    これはなに? Sub::Pipe は非常に小粒なモジュールです。どれぐらい小粒かというと、質部分は package Sub::Pipe; use overload '|' => sub { $_[0]->( $_[1] ) }; sub joint(&) { bless $_[0], __PACKAGE__ }; この 3行のみ、というぐらい小粒なわけですが、なかなかおもしろいモジュールじゃないかと思っています。 Sub::Pipe を使うと、UNIX pipe のような記法で適用する関数を作成できます。 use Sub::Pipe; sub trim { joint { my $str = shift; $str =~ s/^\s+|\s+$//g; return $str; } } $foo = " foo " | trim; # is $foo, "foo" これは文字列の前後の空

  • Proxy経由でLWP::UserAgentを使う - JPerl Advent Calendar 2009

    Proxy経由でLWP::UserAgentを使う - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? こんにちは!好きな寿司ネタは甘エビのkamipoです。 今日はProxy経由でLWP::UserAgentを使う方法を紹介したいと思います。 クローラやWeb APIなどを扱うモジュールの内部で必ずと言っていいほど使われているHTTPクライアントのLWP::UserAgentですが、世の中には色々な事情でHTTPリクエストするのにProxyを経由しなければいけない環境の人がいるんじゃないかと思います。 まず、LWPとCrypt::SSLeayの最新版をCPANからインストールしておきましょう。 % cpan LWP Crypt::SSLeay LWP::UserAgentでProxyを指定するには以下の

  • Have Your Own Perl! - JPerl Advent Calendar 2009

    こんにちは、dankogaiです。Encode.pmのメンテナーとかしています。なのでEncodeのことでも書こうかと思ったのですが、すでにEncodeでラクラク日語処理をxaicronに書かれちゃいました。 それじゃ何書く?と思ったら、残ってましたよ。最も大事なものが。 Perlハッカーに最も必要なもの ここでなぞなぞです。Perlハッカーにとって最も必要なのは何でしょうか? Perlそのもの、ですよね。 そうなんです。どんなすばらしいPerlモジュールも、Perl体がなければ動きません。Perlはモジュールがなくてもなんとか動きますが、その逆は真ではないのです。 自分専用Perlを持つべき理由 あまりに当たり前のこの事実ですが、その一方、およそ Windows を除けばPerlは主要OSにははじめから組み込まれているのでそのことになかなか気がつきません。Perlがそこにあること、そ

  • Win32::GuiTest で Windows の GUI アプリをハックしよう

    的な書き方 use strict; use warnings; use utf8; # ↑ Perl ハッカーに DIS られなくなるおまじない # Win32::GuiTest を使うおまじない use Win32::GuiTest qw(:ALL); # 日語を使えるようにするおまじない UnicodeSemantics(1); # ここで Win32::GuiTest を使う マウスを動かす use strict; use warnings; use utf8; use Win32::GuiTest qw(:ALL); # 小数点もいけちゃう sleep 関数 use Time::HiRes qw(sleep); UnicodeSemantics(1); for (my $i = 0; $i < 500; $i++) { # 10 ms 待つ sleep(0.01); # マウ

  • 非破壊な s/// のススメ

    正規表現の置換でときどき困るのは、元の文字列が変更されてしまうことです。そのため、たとえば文字列を URI escape する際には、以下のように別変数にコピーした上で、正規表現を適用することになります。 my $escaped = $search_str; $escaped =~ s/([^0-9A-Za-z_.!~*'()-])/'%' . uc(unpack('H2', $1))/eg; my $url = "http://example.com/search?q=$escaped"; 以前、この点がめんどくさいなーとブログに書いたところ、kazeburo さん他に以下のようなテクニックを教えていただきました。 use List::MoreUtils qw(apply); my $url = 'http://example.com/search?q=' . apply { s/([^

  • HTTP::Engine - モダンなPerl入門 - モダンなPerl入門

    HTTP::Engine とは? HTTP::Engine プロジェクトは終了し、現在はメンテナンスフェーズに移行しております。HTTP::Engine をすでにつかっている場合は、無理に移行する必要はありませんが、今後あたらしくつくる場合には、Plack をご利用ください。 目次へ Last modified: $Date: 2008-05-22T09:21:23.154313Z $

  • 1