FinikiWiki is a Perl5 Wiki that was written in response to the ShortestWikiContest. It was written by FrankCrist, is 38 lines of Perl5, and uses a MySQL database to store the pages. FinikiWiki is Object Oriented and mostly well-formed. I opted out of using the -w flag for brevity. Someone wrote a shorter WikiWiki clone using 28 lines of Perl and man that burns me! But mine uses a database instead of the filesystem, so nyah nyah. http://finiki.qaip.com/ ''Somebody erased your Source''''''Code page. Could you put it back?'' ---- From a copy I made some time ago (correct as needed): #!/usr/bin/perl use CGI qw(:cgi); use DBI; $c = new CGI; $d = DBI->connect ('dbi:mysql:finiki','xxxx','xxxx') or die; ($p = ($x = $c->path_info) ? $x : 'Finiki''''''Wiki') =~ s/^\/.*?\/(.*?)$/$1/; ($o = ($x = $c->param('b')) ? $x : undef) =~ s/'/\\'/g; if ($c->path_info =~ /^\/update/) { $i = $d->do ("insert into pages set pagename = '$p', body = '$o\n'"); $i = $d->do ("update pages set body = '$o\n' where pagename = '$p'") if !$i;} $b = $d->selectrow_array ("select body from pages where pagename = '$p'"); $b = $d->selectrow_array ("select body from pages where pagename = 'Blank''''''Page'") if !$b; $b = "
" if ($c->path_info =~ /^\/edit/); $t = $d->selectall_arrayref ("select body from pages where pagename = 'Top''''''Header' or pagename = 'Bottom''''''Header' order by pagename desc"); map {$$t[$_][0] = wikiformat ($$t[$_][0])} (0,1); $b = wikiformat ($b) if $c->path_info !~ /^\/edit/; $n = "\n