YAPC::Asia Tokyo 2014

Aug. 28, 29, 30 at KEIO Univ. Hiyoshi Campus [There Is More Than One Way To Enjoy It!]

Talk Information

Perl5 meta programming


Abstract

メタプログラミングと言えばrubyが有名です。しかし、perl5でもメタプログラミングを行う事は十分に可能です。 メタプログラミングはプログラミングの可能性を広げるための技術の1つです。 メタプログラミングの世界ではプログラムでプログラムを作ります。たとえば、全てのメソッドにデバッグコードを追加したいとき、あなたはすべてのメソッドのソースコードを変更する必要はありません。 我々にはメタプログラミングがあります!メタプログラミングを用いることで僅かなコードにより目的を達成することが出来るでしょう。 メタプログラミングをマスターすれば、恐らくいくつかのコードはよりシンプルにすることが可能です。 メタプログラミングは現代の開発において必須のスキルと言えるでしょう。 このセクションでは以下の要素をもとにperl5でメタプログラミングを行う原理とその具体的な手法について説明します。

  • string eval
  • symbol table + code ref + local
  • B::svref_2object / Package::Stash / Class::Inspector
  • Class::Method::Modifiers
  • Class::MOP/Moose (Moo)
  • Module::Spy

(Please tell me if you notice mistakes of my english.) Speaking of meta programming, Ruby is famous. But, We are possible to handle meta programming as well in Perl5. Meta programming is one of technology for expand the possibilities of programming. In the world of meta-programming, write program that makes a program. For example, when you want to append debug code to all method, you don't have to modify source code of all methods. We can use meta-programming!! By using a meta-programming, you can achieve it by a little code. If you master meta programming, you can write some codes more simply, maybe :) I think meta-programming skill is essential in the modern development scene. Talk about in this section, principle of meta programming in Perl5, and how to handle meta programming in Perl5.

  • string eval
  • symbol table + code ref + local
  • B::svref_2object / Package::Stash / Class::Inspector
  • Class::Method::Modifiers
  • Class::MOP/Moose (Moo)
  • Module::Spy

Talk Details

Venue Multipurpose Room 2
Starts On 2014-08-30 14:30:00
Talk Category Tutorial
Language Japanese
Slide Subtitles English
Talk Duration 40 minutes
Material (Difficulty) Level Beginner
May we take your photo? allow
May we record your talk? allow

Video

Slide