--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use utf8;
+use Encode;
+
+my $file = $ARGV[0] || die;
+
+open(IF, $file) || die;
+$/ = undef;
+my $text = <IF>;
+close(IF);
+
+$text = decode('utf8', $text);
+$text =~ s/^\*/= /mg;
+$text =~ s/^\*\*/== /mg;
+$text =~ s/^\- / * /mg;
+$text =~ s/^\-- / * /mg;
+$text =~ s/^\--- / * /mg;
+$text =~ s/\[\[/[/g;
+$text =~ s/\|/||/g;
+$text =~ s/]]/]/g;
+$text =~ s/~%/\n/g;
+$text = encode('utf8', $text);
+
+my $outd = 'converted';
+mkdir $outd;
+open(OF, "> $outd/$file") || die;
+print OF $text;
+close(OF);
+
+1;
+
--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use Fcntl;
+use GDBM_File;
+use URI::Escape;
+use Encode;
+
+my $file = '/var/www/lib/wiliki/wikidata.dbm';
+my %db;
+tie (%db, 'GDBM_File' , $file, O_RDONLY, 640) or die;
+
+foreach my $k (sort keys %db) {
+ next if $k eq ' %recent-changes';
+ my $f = uri_escape($k);
+ open(OF, "> $f") or die "can not open $f";
+ my $o = $db{$k};
+ $o =~ s/^\([^)]+\)//;
+ print OF $o;
+}
+
+untie(%db);
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use LWP::UserAgent;
+use HTTP::Request::Common;
+use URI::Escape;
+use Encode;
+use utf8;
+
+my $file = $ARGV[0] || die;
+my $url_base = 'http://sourceforge.jp/projects/g15jp/wiki/';
+
+my $url = $url_base . $file;
+
+open(IF, $file) || die;
+my $tmp = $/;
+$/ = undef;
+my $text = <IF>;
+close(IF);
+$text = decode('utf8', $text);
+
+my $ua = LWP::UserAgent -> new();
+
+my $req = GET($url . '?action=edit');
+my $res = $ua->request($req);
+
+my $key;
+if ($res->as_string() =~ /name="postkey" value="([^"]+)"/) {
+ $key = $1;
+} else {
+ die 'can not find key' . $res->as_string();
+}
+
+my %data = (action => 'update',
+ title => uri_unescape($file),
+ text => $text,
+ comment => '',
+ commit => '保存',
+ textarea_height => 24,
+ postkey => $key);
+
+
+my $req2 = POST($url . '?action=update', \%data);
+my $res2 = $ua->request($req2);
+
+#print $res->as_string;