2013/08/13


readline って言うと、便利な反面 Windows だと問題が多く発生して、Windows でも動かすスクリプトでの使用は敬遠してたんですが、Caroline だと多い日も安心。
tokuhirom/Caroline - GitHub

Yet another line editing library

https://github.com/tokuhirom/Caroline
readline なんかと違って、内部は utf-8 なので unix 等のスクリプトと同じ動きをします。ヒストリも保存出来るし、入力補完も自作出来ます。
eg/suddenly_death.pl を見るといいです。

$ perl -Ilib eg/suddenly_death.pl
hello> 
ここで m を入力してタブキーをタイプすると... $ perl -Ilib eg/suddenly_death.pl
hello> 突然のmattn
そして ENTER キーをタイプすれば _人人人人人人_
> 突然のmattn <
 ̄^Y^Y^Y^Y^Y^ ̄
Posted at by



2013/03/14


Perl ユーザといえば IRC で囲ってるイメージがありますが実はそうではなく、単にシャイなだけなんです。(要出典)
Perl をゆるふわと語ろうというチャットルームが Lingr に出来たので、Perl に興味のある方は参加してみてはどうでしょうか。
Perlの話題を日本語で – Lingr
http://lingr.com/room/perl_jp
ゆるふわなかんじで perl の話題をするためのチャットルームをつくってみた - tokuhirom's blog.

ゆるふわなかんじで perl の話題をするためのチャットルームをつくってみた 安定的な Perl アプリケーション運用のための perlbrew 運用テクニック git merge が、必ずエディタを...

http://blog.64p.org/entry/2013/03/13/195515
チャットルームには結構 Perl 有識者が揃っていて、色んな話しが出てきます。おもしろい人ばかりなのでウォッチするのも面白いと思いますよ。
また bot も作れるので Perl で面白い bot を作ったら報告してみてはどうでしょうか。
Posted at by



2013/03/12


超絶意訳
What is cpanfile and why do I want to use it - Tatsuhiko Miyagawa's blog

What is cpanfile and why do I want to use it So there seems to be a couple of blog posts and even co...

http://weblog.bulknews.net/post/44963580392/what-is-cpanfile-and-why-do-i-want-to-use-it

cpanfile について幾つかブログ記事やカンファレンスがある様です。素晴らしい事です。ですがそれは単に、それが何であるか、またそれらがなぜ必要なのか(もしくは必要じゃないのか)を、筆者の説明と共に書かれているだけなのです。

tl;dr 日本の方へ - この Hokkaido.pm でのスライドの冒頭にある「cpanfile とは何か」は素晴らしい。

cpanfile は以下の2つのユースケースを明確に分ける目的で作られました。二つ目については偶発的ですが。

1)「アプリケーション(ウェブアプリでコマンドライン・スクリプト)があり、そのCPANモジュール依存性をなんとかして管理したい。 CPANにリリースする予定はないが、その依存性等を記述する偽に Makefile.PL を書いた。」

2)「git リポジトリ上に perl モジュールがあり、またコントリビュータがリポジトリからインストール出来る様にしたい。でも inc/Moudle/Install.pm がロード出来ないって言ってるし、リポジトリに inc を含めたり META.yml の衝突は望ましくない。」

cpanfile は CPANモジュールの依存を記述する Module::Install のようなDSLです。そのファイルを解析するためのモジュールを付属してるけど、あらゆる特定のビルダーやインストーラにも結び付けられていない。

CPAN の依存について記述したい Perl アプリケーション開発者に有用で、carton install もしくは cpanm --installdeps . で簡単にインストール出来る。

CPAN module author へ。git リポジトリから簡単に(すぐさま)インストール出来るって恩恵が得られるんだけど、cpanfile は絶対に移行すべき物って訳じゃないよ。(すぐさま)と書いたのには理由があって、cpanm 1.6 の時点では、git リポジトリから提供される M::I ブートストラップ相当の機能はない。これは既知の問題なんだけど cpanm 1.7 の前あたりから取り組んでる。 (configure_requiresの中で Module::Install を指定するって代替手段はある。でも、CPANに送っても全く必要ないしそれって間違ってるよね。)

標準CPANインストーラー(CPAN.pm、CPANPLUS、cpanm)は依存性を検知するのに META ファイル(もしくはその後のMYMETA)で動作してる。

これが標準だし cpanfile はこれらの全部を置き換えるつもりは全く無い。

でももし CPANモジュールの依存物を記述するために cpanfile を使うと決めたなら、MYMETA プロトコルで透過的になる様に Module::Install::CPANfile もしくは Module::Build::Pluggable::CPANfile を使うべきだよ。

FAQ


僕は CPAN Author で、META.yml をリポジトリに含んでる。cpanfile にスィッチした方がいい?

君の設定が静的で、リポジトリにある META.yml の衝突を覚えているなら問題ないし、それって凄い事だよね。でも configure_requires に「Module::Install」(例えばだけど)を入れてても一旦CPANに送らたらもう必要ないよね。inc 以下をコミットするのは作者の好き勝手だけど、僕には必要無い様に思える。

ウェブアプリをクラウドにデプロイしたいんだけど、どのプロバイダが cpanfile をサポートしてるの?

ほとんどのPaaSプロバイダ(dotcloud、buildpackなどによるherokuとか)は依存物のインストールに cpanm -- installdeps を使ってる。 cpanm を 1.6 もしくはそれ以上のバージョンににアップグレードすれば、自動的にcpanfileから依存性を解決するよ。まだ 1.6 じゃないとしたら、なんでアップグレードを望まないの?

CPANモジュールに dzil を使ってるし、何言ってるか分かんない。

すばらしい。じゃあ、この記事については忘れて。

しかしながらモジュールへの寄与者は、dzil を最初にインストールして、他の CPAN モジュールの風習の異なるテストやインストールをする為にコマンドを覚えておく必要がある。cpanfile はその助けになるかもしれない。でも僕はまだ見出せてないけどね。

cpanfile の中に Module::Install を書くべきか?

それって殆どの場合 develop のはずだし、cpanm は開発環境を検知する。たとえば CPAN tarball よりもっとスムーズに。

Posted at by