__END__ # ca4ml (Curry Arguments for ML) sub ca4ml { my $sub = shift; my $tag = shift; return sub { my @args = @_; return ml( $sub, $tag, @args ); } } print "\n == code fragment 3 ============================================= \n"; my $root = ca4ml( \&XML_elem, 'root' ); my $branch = ca4ml( \&XML_elem, 'branch' ); my $sub_branch = ca4ml( \&XML_elem, 'sub_branch' ); print join "\n", $root->( { ID => 0 }, $branch->( $sub_branch->( { foo => 2 }, 'some contents & entities "<>"' ), 'other contents', ), 'root stuff', )->();