XML::LibXML で XML を作るときに、 いちいち createElement とか appendChild とか書くのに飽きてきたので、 高階関数版を作ってみた。 (2005/4/27:テキストノードを追加する機能を付け足して、説明も書き足しました。) 前置き Perl でクロージャを作ってプログラミングするのが好きですというと、 Perl でクロージャなんかかけるの? という顔をする人がたまにいるんですが、 もちろんかけます。 『Higher-order Perl: A Guide To Program Transformation』 という本が出ているくらいだし。 例 my $dom = (_DOM (_E fuga => {a1 => "attr1", a2 => "attr2"}, (_E hoge => {}, "Hahaha!"), (_E "piyo"))); こ