weblog of key_amb

主にIT関連の技術メモ

CPAN

DateTime::Format::Strptime にパッチを送った話 #Perl

CPAN モジュールの DateTime::Format::Strptime は DateTime と同じ Dave Rolsky さんが開発しているもので、日付時刻を含む文字列のパースによく使われているのではないかと思います。 このモジュールの挙動が v1.58 から変わっていました。 #!perl use fea…

memcached-cli の v0.9.4 までの追加機能の紹介

3/24 の記事で、最近作った memcached-cli というツールの紹介をしました。 keyamb.hatenablog.com 別に困ってはいないのですが、もっと便利にしたので、Changes から抜粋して追加機能を紹介しておきます。 昨日か一昨日に手元に入れて試してみた、という方…

Memcached に対話的にコマンドを実行できる "memcached-cli" を作った

Redis*1 には redis-cli というツールがあって、Redis サーバに接続して対話的にコマンドを発行して、結果を得ることができます。 Memcached*2 の場合、いい感じに使えるツールがなくて*3、必要なときはいつも TELNET でつないでコマンドを実行していました…

(メモ) Pod::Simple::HTML による Perl ドキュメントのカスタム生成

Pod::Simple::HTML の POD に書いてある通りですが、Pod::Simple::HTML を継承したクラスを作って、生成する HTML をカスタマイズすることができます。 例えば、do_pod_link メソッドをオーバーライドすることで、L<...> で記述するリンクタグの挙動を変更で…

ShipIt を使って Perl モジュールのリリース作業を自動化する

ShipIt は Perl プロダクトのビルド、テスト、リリースを自動化してくれるツールで、CPAN へのアップロードもできます。 今回は以下の作業を半自動化するために、ShipIt を利用しました。 モジュール群の VERSION インクリメント ChangeLog の更新 リリース…

(メモ) Perl の文字コード変換について

EUC-JP => UTF-8 な変換をしたくて、Encode.pm を使ったら化けたのだけど、Unicode::Japanese にしたら上手く行った。 use Unicode::Japanese; print Unicode::Japanese->new($content, 'euc-jp')->get; 参考 Unicode-Japanese-0.49 - Convert encoding of j…

Released Perl5 AWS::CLI::Config

Sometimes I wanted to access the configuration information of AWS CLI in Perl. So I've created a perl module -- AWS::CLI::Config. It's available in CPAN. There has already been nice module Net::Amazon::Config which fetches info from ~/.ama…

Perl でプロジェクトのモジュール全部について use_ok のテストをしてくれるテストモジュール

See Test::UseAllModules - search.cpan.org use Test::UseAllModules; BEGIN { all_uses_ok(); }

File::Which を使って perl で which

See File::Which - search.cpan.org use File::Which qw(which); my @paths = which('perl');

cpanfile で perl module を管理する

ちょっと前から plenv を使っていますが、作業環境が変わったときに毎回モジュールを入れ直すのが面倒なので、cpanfile を管理することにしました。 https://github.com/key-amb/my-perlenv cpanm --installdeps オプションで、cpanfile の記述を元にモジュ…

Perl CLI フレームワーク

Perlで使えるCLIフレームワークの個人的調査メモ。 インフラ運用などをやっていると、CLIをさくっと作りたいニーズが出てくる。 毎回一から書くより、既存のフレームワークに乗っかった方が楽なこともあるだろう。 というわけで、ちょっと調べてみた。 CPAN …

Minilla を使って CPAN にモジュールを上げてみた

https://github.com/key-amb/perl-Text-LTSV-Liner を CPAN に上げたときの作業メモ。 PAUSE ID 申請 CPAN にモジュールを上げるために必要。 社内でCPAN Authorになろうハッカソンを開催しました!! - 僕の車輪の再発明 を参考にした。 リクエストを送ると…

Module::Installでモジュールを作ってみる

おそらくはそれさえも平凡な日々: CPANモジュールのパッケージングの歴史 にCPANモジュールのパッケージングの歴史があり、トレンドを知ることができる。Module::Installには課題もありそうだが、現在は広く普及してて無難っぽい。 ので、手始めにこれを使っ…

FormValidator::Simple

Webでのリクエストパラメータのチェックなどに使う。 参考 FormValidator::Simple - search.cpan.org http://d.hatena.ne.jp/fjkktkys/20070427/1177664978