use CGI;
 use FCGI;
 use Template;
+use URI::Escape;
 
 # Internal
 use Secrets;
 
 sub Triple::main {
 
+    sub parse_post {
+        my %form;
+        for my $pair (split /&/, $_[0]) {
+            my ($key, $val) = split /=/, $pair, 2;
+            $form{uri_unescape($key)} = uri_unescape($val // '');
+        }
+        return %form;
+    }
+
     my ($sitename, $version) = init();
     my $request = FCGI::Request();
 
         my $method         = $ENV{'REQUEST_METHOD'} || '';
         my $content_length = $ENV{'CONTENT_LENGTH'} || 0;
         my $content_type   = $ENV{'CONTENT_TYPE'} || '';
+        my $body           = '';
         my $status         = '';
         my $location;
-        my $body = '';
+
         if ($method eq 'POST') {
             syslog("info", "something like posting has occurred");
             if ($content_length > 0) {
             print $fh "\r\n";
             close $fh;
 
+            %post = parse_post($body);
+
             $status   = '302 Found';
             $location = $vars->{"uri"};
         }