アーカイブの分割の記述に誤りがあったので(俺の書き足した部分がダメだったというどうしようもない話)、ちゃんと動くように修正するとともに、Perl/CGI 版を書き殴ってみました。ほとんどパクりです。起動の度に置換しているので遅いです。はっきりいって役に立ちません。ダメすぎ(笑)

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw/fatalsToBrowser/;

my @entries = (
<MTEntries>
'<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle></a></li>',
</MTEntries>
);

$ENV{QUERY_STRING} ||= 0;
my $offset = ($ENV{QUERY_STRING} =~ /offset=(\d{1,2})/) ? $1 : 0;

while (<DATA>) {
  if (s/%%ENTRY%%//) {
    for (my $i = $offset; $i < $offset + 5; $i++) {
      print qq!$entries[$i]\n! if $entries[$i];
    }
  }
  if (s/%%PAGE%%//) {
    my $page = 1;
    for (my $i = 0; $i <= $#entries; $i += 5) {
      print $i == $offset ? qq! [$page]! : qq! <a href="$ENV{SCRIPT_NAME}?offset=$i">$page</a>!;
      $page++;
    }
  }
  print;
}

__END__
Content-language: ja
Content-type: text/html; charset=UTF-8

<title><$MTBlogName$>: <$MTArchiveTitle$> アーカイブ</title>
<ul>
%%ENTRY%%
</ul>
<p>page:
%%PAGE%%
</p>

35 行目以降に HTML を書けます。%%ENTRY%%%%PAGE%% は置換する部分なので、移動させても善いですが必ず行頭に置いてください(タブや半角スペースは可)。