タグ

cpanに関するf99aqのブックマーク (26)

  • Tie::Trace_JP - metacpan.org

    f99aq
    f99aq 2010/02/13
  • Tie::Traceで簡単に変数の中身を追う - JPerl Advent Calendar 2009

    前置き こんにちは、id:ktatです。最近は、Util::Allというモジュールをいじってますが、CPAN にはあげてないので、紹介できません。 というわけで、今日はデバッグのお供に使えるかもしれない、Tie::Traceを紹介します。 題 さて、perlのプログラムのデバッグするなら、perl -d というのも良いですが、print デバッグもお手軽でいいですよね。 しかし、怪しい変数を追いかけたり、見知らぬオブジェクトの中を調べたりするのに、いちいち print や warn を挿入していくのも面倒です。 そんな時には、Tie::Trace が役に立つかもしれません。 単純な例 次の $hoge、 @hoge、 %hoge の各変数を追いかけてみます。 use Tie::Trace qw/watch/; watch my $hoge; watch my @hoge; watch m

  • Test::Requires でモジュールがないときにテストをスキップする - JPerl Advent Calendar 2009

    前置き みなさんこんにちは、tokuhirom です。今年もはじまりました JPerl Advent Calendar 2009。 こちらは hacker track ということで、僕がつくったモジュールの一つを紹介したいとおもいます。今回ご紹介するモジュールは Test::Requires です。 題 Test::Requires は非常に小粒なツールですが、なかなかいいモジュールなんじゃないかと自分でもおもっています。 モジュールのテストを書くときに、「このモジュールがあったときだけこのテストをはしらせたい」というようなユーズケースはままあります。 「Plack の Server::FCGI のテストは FCGI.pm と FCGI::Client の両方がインストールされていなければスキップしたい」のですが、このような用途にはTest::Requires がぴったんこです(実際に

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

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

  • Module::Setup でらくらくモジュール作成 - JPerl Advent Calendar 2009

    Module::Setup でらくらくモジュール作成 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? こんにちわ!こんにちわ!acotie hackathon の懇談会来てるのに一人寂しくビール飲んでる Yappo です。 皆様お元気ですか?僕は寂しいです。 さて今日は今さっき shipit したての Module::Setup について紹介しましょう。 what is Module::Setup? Module:Setup とは miyagawa さん作の pmsetup を CPANize した物です。 で、 pmsetup は何かというと Module::Starter などのモジュール開発を始める上の雛形を便利な感じで作ってくれる物です。 まぁ pmsetup でも良かったんですが、みんな好き

  • #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found

    2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を] Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

    #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 第15回 DateTime:APIの標準化をめざして | gihyo.jp

    Cから継承したAPI プログラマにとって、ログの解析や作成などに含まれる日付や時刻の操作は切っても切り離せない分野のひとつです。もちろんPerlにも日付や時刻を操作するための関数は組み込まれています。 ただし、Cから継承してきたlocaltime()やgmtime()の返り値は、お世辞にもわかりやすいとはいえません。リストコンテキストで呼び出せば年月日、時分秒などの値を取り出せるとはいえ、単一の配列で受け取ると、個々の要素を使うときに直感的ではなくなりますし、明示的な名前をつけたスカラー変数を並べて受け取るのはいかにも冗長です。 use strict; use warnings; # 短いけれど非直感的 my @tm = localtime(); $tm[5] += 1900; $tm[4]++; printf "%04d-%02d-%02d %02d:%02d:%02d\n", reve

    第15回 DateTime:APIの標準化をめざして | gihyo.jp
    f99aq
    f99aq 2009/10/04
    DateTime
  • 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

  • バイナリファイルを解析する

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

    f99aq
    f99aq 2009/05/08
    Data::ParseBinary
  • CoroはCoroutineのCoro - PerlでFiber - はこべにっき#

    Ruby勉強会@関西でFiberについて勉強してきた - はこべブログ ♨でPerlでもGeneratorをうまく書けるモジュールがないかなーとこぼしていたところ. perlではCoroでほぼ同じ事ができるが、どちらにしろCoroを使う利点は1個1個をresumeすることじゃなくて 非同期に実装することだと思うのでgenerator云々はちょっと用途が違う気もするです http://b.hatena.ne.jp/lestrrat/20090202#bookmark-11922880 というブコメをいただきました.id:lestrratさんありがとうございます. Coroについて調べてみたところ,Coro::Introによると The natural application for these is to include a scheduler, resulting in cooperati

    CoroはCoroutineのCoro - PerlでFiber - はこべにっき#
  • 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

  • CPANモジュールのアンインストール(改良版) - ヒルズで働く@robarioの技ログ

    信じられない間違いを犯していましたぁ!!(><) aliasを書き直しました。 もし以前のaliasを持っていたら、見比べてニヤニヤしてくださいヽ(;´Д`)ノ 何かCPANPLUSでdistroprefsが使えない(CPANモジュールのオレオレパッチ - ヒルズで働く@robarioの技ログ)ので、一旦CPANに戻ってきました。 それで、CPANではアンインストールコマンドが無いので、cpan-uninstall(CPANモジュールのアンインストール - ヒルズで働く@robarioの技ログ)を使うわけなんですが、色々あってcpan-uninstallを改良しました。 コード(aliasとしてワンライナーで実装) alias cpan-uninstall='\perl -MExtUtils::Install -MExtUtils::Installed -e "unshift@ARGV,n

    CPANモジュールのアンインストール(改良版) - ヒルズで働く@robarioの技ログ
  • HTMLから本文を抜き出せるモジュールHTML::ExtractContent - perl-mongers.org

    This domain may be for sale!

  • CPANパッケージをつくった時のメモ - はこべにっき ♨

    WebService::Hatena::Diary 0.01リリース/わーい,CPAN Authorになったよー - はこべブログ ♨ でCPANパッケージをつくった時のメモをおもむろに公開.なんか変なとこあったらおしえてくださいな みたいな. 書いてから気づいたのですが,Makefile.PLを書こう - soffritto::journalに書かれている,まず,Makefile.PLから書くやりかたの方が,より良さそうすね.Makefile.PLが開発プロセスをコントロールしていて,迷わずに開発がすすめられそうです. ともあれ,以下メモ. 基的に上から下の順番に実行していく. pmsetup でひな形をつくる パッケージのひな形を作成するためのpmsetupというプログラムを実行する.もともとは,miyagawaさんの作ったスクリプトで,自分用にカスタマイズして使う.(CodeRep

    CPANパッケージをつくった時のメモ - はこべにっき ♨
  • 依存モジュールの指定漏れを防ぐ方法 - 名称未設定♥ - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    依存モジュールの指定漏れを防ぐ方法 - 名称未設定♥ - subtech
    f99aq
    f99aq 2008/06/15
    Test::Dependencies
  • 今日のCPANモジュール(跡地) 目次

    Redirecting… Click here if you are not redirected.

    f99aq
    f99aq 2008/03/09
  • HTML::StripScriptsでXSS対策をする - Kentaro Kuribayashi's blog

    先日公開した「はて☆すたアンケート」にて、アンケートの説明文をはてな記法で書けるよう、機能追加を行った。その際、Template::Plugin::Hatenaを用いた。これは、はてな記法パーサであるText::Hatena(正確には、そのヴァージョン0.16以下)を、Template::Toolkitのプラグインとして使えるようにしたものである。 はてな記法は、それ自体で全ての文書構造を表現できる、あるいは、はてなダイアリのシステム自体は、はてな記法のみしか許容しないというものではなく、たとえば画像を貼る際には、普通にimg要素を書く必要があるし、また、その他の要素についても、記法が用意されていないものについては、「はてなダイアリーのヘルプ - はてなダイアリー利用可能タグ」に掲載されているものに限り、自分でタグを書くことができる。これは自由度を高める反面で、XSSを誘発し得る潜在的なリ

    HTML::StripScriptsでXSS対策をする - Kentaro Kuribayashi's blog
  • 404 Blog Not Found:perl - Regexp::Assembleのススメ

    2007年04月19日15:00 カテゴリLightweight Languages perl - Regexp::Assembleのススメ というわけで、Regexp::Assembleのご紹介。 PERL HACKS(日語版) [英語版] odz buffer - それ Regexp::Assembleん?ループ云々を抜きにして、こういうのは Regexp::Assemble の出番じゃないの? すでにPerl Hackers御用達のモジュールとなっていますが、まだ知らない方もいらっしゃるかも知れないので。 何をするモジュールか、といえば、以下を見れば一目瞭然でしょう。 Regexp::Assemble - Assemble multiple Regular Expressions into a single RE - search.cpan.org use Regexp::Asse

    404 Blog Not Found:perl - Regexp::Assembleのススメ
  • WebService-Livedoor-Auth-0.01 - [One line description of module's purpose here] - metacpan.org

    The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.