#!/usr/bin/perl read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); $buffer =~ tr/+/ /; $buffer =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; @buf = split(/&/,$buffer); foreach $buf (@buf){ ($name,$value) = split(/=/,$buf); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } print("Content-type: text/html\n\n\n"); print("Calculator"); print("

Calculator

"); if($FORM{'operator'} ne "") { if($FORM{'operator'} eq " "){ # a plus character is transformed to a space! $res = $FORM{'value1'} + $FORM{'value2'}; } elsif($FORM{'operator'} eq "-"){ $res = $FORM{'value1'} - $FORM{'value2'}; } elsif($FORM{'operator'} eq "*"){ $res = $FORM{'value1'} * $FORM{'value2'}; } elsif($FORM{'operator'} eq "/"){ if($FORM{'value2'} != 0){ $res = $FORM{'value1'} / $FORM{'value2'}; }else{ $res = "Error"; } } elsif($FORM{'operator'} eq "^"){ $res = $FORM{'value1'} ** $FORM{'value2'}; } print("Last value was: $res
"); } print("
"); print(" "); print(""); print("

"); print("

"); print("
"); print("Tillbaka
"); print("Go back"); print("");