タグ

Perlに関するHeavyFeatherのブックマーク (199)

  • (貧乏な人のための)Perl モジュールの作り方。 : torus solutions!

    ぼくがお金がなくてラクダを買えなかった時に、 こんな情報があればいいなぁと思っていた内容をまとめてみます。 なので、出来るだけフリーのドキュメントを見て内容を確認できるようにしたいと思います。 ちなみに、こちらで動作を確認している Perl のバージョンは 5.6.1 なので、 ドキュメントなどもそのバージョンのものをリンクするようにします。 パッケージ、クラス、モジュール 具体的なクラスの作り方やオブジェクト指向プログラミングの方法などは、 「perltoot - トムによるPerlオブジェクト指向チュートリアル」を何度も読めばわかると思います。 っていうか、ぼくもそれしか読んでないんです。 ごめんなさい。 以下は、そこに書いてある方法で書いた Perl モジュールを、 配布できる形にパッケージングするためのやり方です。 h2xs モジュールを作るには、まず h2xs *1 というおま

  • perl - 配列を1番目からはじめてみる : 404 Blog Not Found

    2008年05月25日01:15 カテゴリLightweight Languages perl - 配列を1番目からはじめてみる 配列の先頭要素が「0番目」であることは気持ち悪いか…「N番目」という言葉を考察してみる - ’(rubikitch wanna be (a . lisper)) JavascriptPHPの配列や関数などで 配列の最初の要素がary[0]に格納されたりsubstring()関数の起点がゼロであったりしますが ゼロでなく1ではダメなのでしょうか。個人的.. - 人力検索はてな C言語、Ruby、Lispなど多くの言語では配列は0起点である。つまり、先頭の要素のインデックスは0である。 「小飼弾のアルファギークに逢ってきた」でも、インタビューは#0からはじまっているのだけど、これを自由に設定できてしまう類い稀なる言語が存在する。 perlだ。 あまり知られていない

    perl - 配列を1番目からはじめてみる : 404 Blog Not Found
  • Perlの公式ドキュメントを読むための英語の勉強方法 - Perl入門~サンプルコードによるPerl入門~

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • perl - 文字参照を(en|de)codeする : 404 Blog Not Found

    2008年05月11日21:00 カテゴリLightweight LanguagesTips perl - 文字参照を(en|de)codeする すでに正解が書かれていますが、 [を] Unicode の16進数の実体参照を正規表現などで元に戻す pack と Encode::decode を使うと良いみたい。 はてなブックマーク - miyagawaのブックマーク / 2008年05月11日 それ HTML::Entities::decode / regexp でも chr(hex($1)) のほうがわかりやすくないかな 繰り返しておくだけの価値はあるので。 HTML::Entitiesを使う まず、HTML::Entitiesのdecode_entities()を使うという方法があります。これがベストプラクティスかな。 #!/usr/local/bin/perl use strict;

    perl - 文字参照を(en|de)codeする : 404 Blog Not Found
  • 404 Blog Not Found:perl - There's more than one way to die

    2008年05月10日15:00 カテゴリLightweight Languages perl - There's more than one way to die いよいよ来週はYAPC::Asia::2008ですが、Hotel DANは日から開業。我が家では日から20日までが「YAPC旬間」です。 というわけで、その間は少なくとも一つはperlがらみのentryにしていく所存です。 で、第一回はいきなりdieの話題です。 開発日誌 pp-perl: Perlのエラー処理プログラムを停止して、メッセージ(LIST)をSTRERRに出力します。 間違っていませんが正しいとは言えません。 die = throw die()とは何か? まずは、以下のコードをご覧下さい。 [Run via codepad] eval { my $zero = 0; my $dead = 1 / $zero;

    404 Blog Not Found:perl - There's more than one way to die
  • perl - Encode 中級 : 404 Blog Not Found

    2008年05月08日04:00 カテゴリLightweight Languages perl - Encode 中級 以前書いた 404 Blog Not Found:perl - Encode 入門 は大好評でしたが、 ウェブで利用される文字コード、UnicodeがASCIIを上回る--グーグルが明らかに:マーケティング - CNET Japan UnicodeがASCIIを追い越し、World Wide Web上で最も多く利用されている文字コード体系になったとGoogleのシニアインターナショナルソフトウェアアーキテクトMark Davis氏がブログで述べている。 という時代に完全対応するには、入門以上の知識がちょっと必要になります。 例えば、blogをホストしてくれているlivedoor blogの文字コードはEUC-JP。「時代はUnicode」だと言っても、こうした事情もまだ

    perl - Encode 中級 : 404 Blog Not Found
  • HTML::Split

    HTML を指定の文字数で分割するための HTMLS::Split なるモジュールを CPAN に up しましたので、さっくり使い方なんかをつらつら。 なにするモジュール? 最初に書いたとおり、HTML を指定の文字数で分割するためのモジュールです。 携帯端末などで HTMLタグを含むテキストデータが 10KB 未満など、きびしい制限があるデバイス向けに HTML を出力する際には、PC ブラウザで見せている長文をそのまま出力するわけにはいきません(容量オーバーってことできれてしまう)。 そこで、HTML を分割する必要があるのですが、ただ、単純に HTML を分割といっても、 タグの途中できれたらどうしようもない A タグのテキストノードなんかが分割されるのはあんまりうれしくない。分割してもいいけど、次のページはどうやってはじめるのさ( なしに突然 がやってくる)? CSS を当てたい

  • Catalyst Conference #1 まとめ - 日向夏特殊応援部隊

    昨日は直前にエロギークな人のトラブルもありましたが、何とか無事に終える事が出来ました。 参加者の皆さん、お疲れ様でした。 と言う訳でプレゼンのまとめと個人的な感想です。 プレゼン CatalystからModelを切り離せ (g:catalyst:id:dann) 資料 今回の基調講演の一つ。g:gatalyst:id:dannさんのプレゼン。エンタープライズアーキテクチャ的にCatalystを分析して、かくあるべきと言う事を言ってる方は少ないので非常に参考になりました。 WAFにおけるModelとは何ぞやと言う事から、Modelにはどのようなパターンが存在し、それらをWAFではなくAFに落とし込む方法論をModelの分類ごとに手法化って感じ。 素晴らしい、また後で資料読みたい。 Catalyst REST Practice #1 (g:catalyst:id:ikasam_a) 資料 RO

    Catalyst Conference #1 まとめ - 日向夏特殊応援部隊
  • Perl逆引き辞典 - サンプルコードによる Perl 入門

    Perl › here Perlの逆引き辞典です。発展的な話題もこちら。 特徴を解説 バージョン情報 データベース プログラムの自動試験 ソケット プロセス間通信 ワンライナー 統計・解析 XS入門 言語実装の研究 豆知識 モジュール基礎 オブジェクト指向 日付・時刻 文字コード ビット演算子 Perl › here

    Perl逆引き辞典 - サンプルコードによる Perl 入門
  • Kazuho@Cybozu Labs: Perl で埋め込み SQL を使って楽をする話

    « Japanize for IE バージョンアップのおしらせ | メイン | Filter::SQL を使って掲示板を書いてみました » 2008年04月16日 Perl で埋め込み SQL を使って楽をする話 DSL (ドメイン固有言語) は、プログラム開発の生産性を向上させる有力な手段です。そして、よく使われる DSL の代表例が正規表現と SQL だと思うのですが、前者に比して後者を嫌いな人が多いようです。なぜだろうと思ってつぶやいたところ、「SQL はリテラルじゃないから!」という答えが tokuhirom さんから返ってきました。そういえば例えば Pro*C のように C で Embedded SQL というのは良く聞く話なのに、Perl では同様の例がないような感じだったので、作ってみました。Perl で埋め込み SQL を実現するソースフィルター Filter::SQL

  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
  • perl の作法 #5 ディスパッチテーブルの活用 | ブログが続かないわけ

    いきなり具体例から行こう。sub coloring { my ($color, $data) = @_; my $ret; if($color eq 'black') { $ret = "<font color=¥"#000000¥">$data</font>"; } elsif ($color eq 'red') { $ret = "<font color=¥"#FF0000¥">$data</font>"; } elsif ($color eq 'green') { $ret = "<font color=¥"#00FF00¥">$data</font>"; } elsif ($color eq 'blue') { $ret = "<font color=¥"#0000FF¥">$data</font>"; } elsif ($color eq 'white') { $ret = "<

    perl の作法 #5 ディスパッチテーブルの活用 | ブログが続かないわけ
  • ゆーすけべー日記: Perl から YouTube の新API を使って動画をアップロードする

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記: Perl から YouTube の新API を使って動画をアップロードする
  • Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件

    « Pathtraq 最新ランキング ガジェットを公開しました | メイン | Q4M (Queue for MySQL) 0.3 リリース » 2008年03月10日 高速なCometサーバを書いてみた件 もう昨年の2月になりますが、Comet について調査を行いました。その際の成果をまとめたスライドは既に公開していた (Comet の正しい使い方) のですが、同時に実際に作ってみた実装についても、オープンソース化することとなりました。コードは CodeRepos に置いておきますので、どうぞご覧ください。 (Revision 7754: /lang/perl/fastr) 使い方は example ディレクトリ以下を見ていただくとして、ベンチマークの結果とチューニング手法について、記録と記憶に残っている範囲からまとめておきたいと思います。 パフォーマンスについて まず、パフォーマンスに

  • 404 Blog Not Found:perl - utf8::is_utf8("\x{ff}") == 0

    2008年02月18日10:00 カテゴリLightweight Languages perl - utf8::is_utf8("\x{ff}") == 0 ちょうどいい機会なので、Perl 5.8以降におけるutf8フラグの立ち方を。 unknownplace.org - 2008/02/17 - utf8::is_utf8 ということで、"\x{6751}\x{702c}\x{5927}\x{8f14}" などというData::Dumper表記でかならずしも utf-8フラグがたつわけじゃない。ということがいいたかったんだと思うのだけれど、 \x{UUUUUU}とutf8 flag まずはクイズです。以下がどう出力されるかを答えなさい。 sub pfrag{ print utf8::is_utf8($_[0]) ? 1 : 0, "\n" } pfrag "Hell\xC3, worl

    404 Blog Not Found:perl - utf8::is_utf8("\x{ff}") == 0
  • Perl でローカルのアドレスを取得する - naoyaのはてなダイアリー

    ifconfigの出力をsedでパース — ありえるえりあ まだ Linux を触り始めて間もない頃に、サーバーを構築していてローカルの IP アドレスをシェルスクリプトから利用する必要があって、どうやって取得するべきだろうかと小一時間悩んだのですが結局分からず Perl の正規表現で ifconfig を parse したことがありました。ioctl() を使ってデバイスを操作する必要がある、ということを知ったのは数年後、割と最近のことです。なんということでしょう。 では、Perl で IP アドレスを取得する場合ですがモジュールを使ってよいのであれば IO::Interface がよいだろうと思っています。IO::Interface は Pure Perl ではありませんが、XS で ioctl() を呼び出しているので比較的高速且つ素直な実装だと思います。 #!/usr/local/

    Perl でローカルのアドレスを取得する - naoyaのはてなダイアリー
  • すっきりした>< - YoshioriのBlog

    id:tokuhirom に Perl の local と my と our を凄く簡潔に分かり易い言葉で教えてもらいました。 our 名前をスコープに限定. local 値をスコープに限定. my 名前と値の両方をスコープに限定 追記 元ネタは早川さんだそうです>< →PowerPoint プレゼンテーション とくひろむーさん、早川さん、ありがとうございます。 で、ついでに実践してみました。 $foo = "global"; sub func{ print "func $foo\n"; } sub test1{ my $foo = "my"; func(); } sub test2{ local $foo = "local"; func(); } test1(); print "after my $foo\n"; test2(); print "after local $foo\n";

    すっきりした>< - YoshioriのBlog
  • 今日のCPANモジュール(跡地) 目次

    Redirecting… Click here if you are not redirected.

  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at