このエントリは、perl advent calender 2014の16日目の記事です。 最近、関数型言語が流行っていますね。ちゃんと勉強しないとなーと思いつつ、あんまりコードをバリバリ書くまでは至ってないです。 で、関数型言語の特徴で、必ず出てくるのが「関数が第一級オブジェクトである」というやつなんですが、実はperlも関数を「第一級オブジェクト」として扱うことができます。 今回は、perlで関数を「第一級オブジェクト」として使う方法とか、その使い方を紹介してみます。 (でもperlは関数型言語ではないですよ) 第一級オブジェクトとは? 実際のコードの前に、まずは「第一級オブジェクト」って何でしょう? Wikipediaによると、こんな事が書かれています。 第一級オブジェクト(ファーストクラスオブジェクト、first-class object)は、あるプログラミング言語において、たとえば