連載
モダンPerlの世界へようこそ
Perlが誕生して早20年。Perl 5が登場してからでさえもう15年になろうとしています。
人の子が,たどたどしい赤ちゃん言葉から,無邪気な子供言葉,背伸びをした思春期の言葉,落ち着いた成人の言葉へと,だんだん物の言い方を変えていくように,Perlの言葉も,この5年,10年でずいぶん変わってきました。
人を傷つけるような言い方を避けるのはもちろん,なるべく明瞭で筋の通った言い方になるよう,慣用句の使い方などにも工夫をこらすようになりましたし,自分たちとは異なる世界に暮らす人たちの言い回しを取り入れて表現の幅を広げたり,言葉の正しい使い方をめぐって審議が行われるようにもなってきています。
ただし,だれもがPerlとともに成長してきたわけではありません。早くに社会に出てしまい,揺籃期のPerlしか知らない人もいれば,いきなり大人言葉の渦に巻き込まれて目を白黒させている人もいるでしょう。
この連載では,そのようなPerlの世代間ギャップに悩んでいる方に,いくらかの背景知識と,これだけは知っておいたほうがよいという最低限の慣用句をお届けします。
- 第27回 Test::Most:Test::Moreでは物足りなくなってきたら
- Test Anything Protocol
- Test::SimpleとTest::More
- Test::Moreで利用可能なテスト
- Test::Most
2010年3月8日
- 第26回 ShipIt:モジュールのリリースをもっと手軽に
- CPANにモジュールをアップロードする前に
- リリース前の定型処理
- CPANへのアップロード
- ShipIt
- Dist::Zilla
- Githubからのリリース
2010年2月23日
- 第25回 Module::Starter:モジュールを書くためのテンプレート
- モジュールを再利用可能にするためのツールたち
- 本来とは異なる用途で使われているh2xs
- ExtUtils::ModuleMaker
- Module::Starter
- pmsetupとModule::Setup
- たまにはひな形の更新を
2010年2月8日
- 第24回 CPAN:Perl界の水先案内人
- CPANが生まれるまで
- See PANTS
- CPANPLUS
- distroprefs
- モジュールを書く人ができること
2010年1月25日
- 第23回 Module::Build:MakeMakerの後継者を目指して
- 今年もよしなにお願いいたします
- ExtUtils::MakeMakerが生まれるまで
- ExtUtils::MakeMakerの使い方
- ExtUtils::MakeMakerの問題点
- Module::Buildの誕生
- Module::BuildとMETA.yml
- 理想と現実
- Module::Installの台頭
- Module::Installに対する批判
- 結局どれを?
2010年1月11日
- 第22回 Mojolicious::Lite:本当に簡単なウェブアプリがあればいいときは
- あれから1年
- 大きく変わったといわれていますが……
- HTTPパイプラインの実装による修正点
- Mojolicious::Lite
- CGI.pmのようなMojolicious::Lite
- Mojolicious::Liteアプリケーションのテスト
- Mojolicious::Liteと日本語の扱い
- Mojoの現状とこれから
2009年12月28日
- 第21回 KiokuDB:マッピングが複雑すぎると感じたら
- Shibuya.pm #12連動企画
- オブジェクトをまるごと保存する
- オブジェクトの検索
- 実際にはどのように保存されているのか
- そのままではうまく保存できない場合
- O/Rマッパを置き換えるものではなく
2009年11月30日
- 第20回 Email::Sender:メールを送信する
- メール送信のあれこれ
- Perl Email Projectとは?
- Email::MIMEを使ってメールを作成する
- Email::MIMEで添付ファイル付きのメールを作成する
- その他の形式のオブジェクトに変換する
- Email::Sendでメールを送信する
- Email::Sendの問題点
- Email::Senderの使い方
- 移行状況
2009年11月16日
- 第19回 Who's Who on IRC:Perl界の紳士録(IRC編)
- あの人はだれ?
- マップにするとこんな感じ
- Moose界隈
- Catalyst界隈
- DBIx::Class界隈
- Mojo界隈
- POE界隈
- Padre界隈
- ツールチェーン界隈
- P5P界隈
- Perl 6界隈
- その他
2009年11月2日
- 第18回 local::lib:ふだんと違う環境でPerlを使う
- いつでも理想の環境を使えるとは限りません
- PERL5LIBという環境変数を活用する
- 旧来の設定の保存の仕方
- local::libを使って楽をする
- リロケータブルPerl
- Perl on a Stick
- ガジェットとPerl
2009年10月19日
- 第17回 Padre:Perlで拡張できるコミュニティのための開発環境
- Perlを入れたはいいものの
- KomodoとVisual Perl
- Proton CE
- 2つの助成金
- Padreの誕生
- Padreのインストール
- Padreのプラグイン
- 既存のエディタに不満があるなら
2009年10月5日
- 第16回 Perl::Dist::Strawberry:何味のアイスクリームがお好きですか?
- 今年のYAPC::Asia,いかがでしたか?
- ActivePerlの興隆
- ActiveState社の買収
- Vanilla Perl
- もっと甘いPerlを
- Strawberry Perlに欠けているもの
2009年9月21日
- 第15回 DateTime:APIの標準化をめざして
- Cから継承したAPI
- 配列から構造体へ
- ラリーの仕様から生まれたTime::Piece
- 日時関連モジュールの混沌
- DateTimeプロジェクト
- 基本的な使い方
- DateTimeプロジェクトに対する反応
- 2038年問題
- どちらを使うにせよ
2009年9月7日
- 第14回 Rakudo:実装する方法だってひとつではないのです
- 2010年4月に出るのは……
- Perl 6に至るまでの道のり
- Pugsがもたらしたもの
- 瓢箪から駒
- Perl 6でPerl 6を
- RakudoとPerl 6
- 公式仕様テストの整理と増加
- 仕様に準拠しているかどうかと実用性は別物です
- フィードバックを得るためのリリース
- 待っているだけでは始まりません
- Rakudoは遅いという方には
2009年8月24日
- 第13回 AnyEvent:イベント駆動モジュールの方言を吸収する
- イベントループを持つモジュールが抱える問題点
- GUIアプリのための?AnyEvent
- 知られざる存在からの脱却
- AnyEvent単体でのイベントプログラミング
- タイマーを追加してみよう
- イベントループの種類を変えてみよう
- CoroとAnyEvent,EVを使った競馬ゲーム
- AnyEventは成功するのか?
2009年8月10日
- 第12回 POE:「Perl萌え~」の略ではなく
- あだ名の多さは人気の証明?
- 20世紀最後の大規模プロジェクト
- 簡単なスクリプトをPOEで書き直してみよう
- シングルタスクからマルチタスクへ
- マルチタスクからイベント駆動に
- 豊富な関連モジュール
- POEに対する批判
- POEらしさからの脱却
2009年7月27日
- 第11回 Devel::Declare:醜い部分を隠すための工夫あれこれ
- Perl界を牽引しているのはやはりネットまわり
- ハック系のモジュールも毎日のように更新されています
- モダン世代のソースフィルタ
- 終了処理が必要かどうかを判定する
- スコープの最後に特殊な処理をしたいときは
- 型グロブやno strictを見せない工夫
- 無名関数に名前を付ける
- 関数リファレンスの元の名前を調べる
- 汚い部分を隠して読みやすく
2009年7月13日
- 第10回 Class::Meta::Express:もっと読みやすく,周囲への影響は最小限に
- 「シュガー関数=モダン」ではありませんが
- 設定をまるごと放り込むタイプ
- 複雑な設定に対応するのは大変
- 設定を細分化して可読性を高めたタイプ
- Makefile.PLの中で使う分には問題ありませんが
- noによるキーワードの除去
- 範囲を明示的に指定してよいとこ取りをする
- やりすぎにはご用心
2009年6月29日
- 第9回 Jifty:一足早いクリスマスプレゼント
- Perl 6チームからのクリスマスプレゼント
- どこまで本当の言語らしく書けるか
- 環境を構築する
- ログインまわりはプラグインを使えば簡単
- モデルを追加しよう
- 複雑なアクセスコントロールを実装する
- スキーマを更新しよう
- ディスパッチャもDSLで
- ビューもDSLで
- Jiftyのアクション
- 単純に比較するのは間違っていますが
2009年6月15日
- 第8回 Reaction:CatalystをもっとDRYに
- アプリケーションの枠組みを越えた再利用
- 環境を構築する
- ルートコントローラをのぞいてみよう
- スキンとレイアウト
- テンプレートのカスタマイズはウィジェットで
- ベースコントローラがよくできていれば,あとは設定を書くだけ
- 3つのモデル
- インタフェースモデルの考え方
- ReactionとJifty
2009年6月1日


