the subversion internals are pretty clean, but the api looks even cleaner when using perl:
my $ra = SVN::Ra->new($url);
$ra->get_logs (['/'], $fromrev, $torev, $getpath, $strict, \&receiver);
yes I read sky's journal. I had some very evil plan about subversion few months ago, and it seems getting closer with the perl bindings support now. I'll post some design notes later.
also I don't know if it's just me who noticed that perl folks tend to think subversion people are on various of drug (someone said so on irc), and the subversion people don't really appreicate perl.