|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/mandarintools/cgi-bin/ |
Upload File : |
#!/usr/bin/perl
require "./cgi-lib.pl";
&ReadParse(*values);
$amount = $values{"amount"};
$source = $values{"source"};
$target = $values{"target"};
print "Content-type: text/plain\n\n";
$system = "";
if (defined($values{"length"})) {
$srcamount = $amount;
if ($source eq "centimeter") { # Normalize all metric input to meters
$system = "metric";
$amount = $amount / 100;
} elsif ($source eq "meter") { # Normalize all metric input to meters
$system = "metric";
} elsif ($source eq "kilometer") { # Normalize all metric input to meters
$system = "metric";
$amount *= 1000;
} elsif ($source eq "inch") { # Normalize all british input to feet
$system = "british";
$amount = $amount / 12;
} elsif ($source eq "feet") { # Normalize all british input to feet
$system = "british";
} elsif ($source eq "yard") { # Normalize all british input to feet
$system = "british";
$amount *= 3;
} elsif ($source eq "mile") { # Normalize all british input to feet
$system = "british";
$amount *= 5280;
} elsif ($source eq "nauticalmile") { # Normalize all british input to feet
$system = "british";
$amount = ($amount * 1.15) * 5280;
} elsif ($source eq "cun") { # Normalize all Chinese input to chi
$system = "chinese";
$amount = $amount / 10;
} elsif ($source eq "chi") { # Normalize all Chinese input to chi
$system = "chinese";
} elsif ($source eq "li") { # Normalize all Chinese input to chi
$system = "chinese";
$amount *= 1500;
}
#print "Amount $amount\n";
if ($system eq "chinese") {
$intermediate = $amount / 3;
} elsif ($system eq "british") {
$intermediate = $amount / 3.281;
} else {
$intermediate = $amount;
}
#print "Meters $intermediate\n";
if ($target eq "centimeter") { # Normalize all metric input to meters
$tgtsystem = "metric";
$final = $intermediate * 100;
} elsif ($target eq "meter") { # Normalize all metric input to meters
$tgtsystem = "metric";
$final = $intermediate;
} elsif ($target eq "kilometer") { # Normalize all metric input to meters
$tgtsystem = "metric";
$final = $intermediate / 1000;
} elsif ($target eq "inch") { # Normalize all british input to feet
$tgtsystem = "british";
$final = ($intermediate * 3.281) * 12; # convert to feet then inches
} elsif ($target eq "feet") { # Normalize all british input to feet
$system = "british";
$final = $intermediate * 3.281; # convert to feet then inches
} elsif ($target eq "yard") { # Normalize all british input to feet
$system = "british";
$final = ($intermediate * 3.281) / 3; # convert to feet then inches
} elsif ($target eq "mile") { # Normalize all british input to feet
$system = "british";
$final = ($intermediate * 3.281) / 5280; # convert to feet then inches
} elsif ($target eq "nauticalmile") {
$system = "british";
$final = ($intermediate / 1000) * 0.54; # convert to km then naut. mile
} elsif ($target eq "cun") {
$system = "chinese"; # Convert to chi first
$final = ($intermediate * 3) * 10;
} elsif ($target eq "chi") {
$system = "chinese";
$final = $intermediate * 3;
} elsif ($target eq "li") {
$system = "chinese";
$final = ($intermediate * 3) / 1500;
}
printf("$srcamount $source = %.2f $target", $final) ;
} elsif (defined($values{"weight"})) {
$srcamount = $amount;
if ($source eq "gram") { # Normalize to kg
$system = "metric";
$amount = $amount / 1000;
} elsif ($source eq "kilogram") {
$system = "metric";
} elsif ($source eq "ounce") { # Normalize to pounds
$system = "british";
$amount = $amount / 16;
} elsif ($source eq "pound") {
$system = "british";
} elsif ($source eq "liang") { # Normalize to jin
$system = "chinese";
$amount = $amount / 10;
} elsif ($source eq "jin") {
$system = "chinese";
} elsif ($source eq "dan") { # Normalize to pounds
$system = "chinese";
$amount = $amount * 100;
}
#print "Amount $amount\n";
if ($system eq "british") {
#print "British\n";
$intermediate = $amount / 2.205;
} elsif ($system eq "chinese") {
#print "Chinese\n";
$intermediate = $amount / 2;
} else {
$intermediate = $amount;
}
#print "Kg $intermediate\n";
if ($target eq "gram") {
$tgtsystem = "metric";
$final = $intermediate * 1000;
} elsif ($target eq "kilogram") {
$tgtsystem = "metric";
$final = $intermediate;
} elsif ($target eq "ounce") { #
$tgtsystem = "british";
$final = ($intermediate * 2.205) * 16; # To pounds then ounces
} elsif ($target eq "pound") {
$tgtsystem = "british";
$final = $intermediate * 2.205;
} elsif ($target eq "liang") { #
$tgtsystem = "chinese";
$final = ($intermediate * 2) * 10;
} elsif ($target eq "jin") {
$tgtsystem = "chinese";
$final = ($intermediate * 2);
} elsif ($target eq "dan") { #
$tgtsystem = "chinese";
$final = ($intermediate * 2) / 100;
}
printf("$srcamount $source = %.2f $target", $final) ;
} elsif (defined($values{"volume"})) {
$srcamount = $amount;
if ($source eq "liter") { # Normalize to liters
$system = "metric";
} elsif ($source eq "gallon") { # Normalize to gallons
$system = "british";
} elsif ($source eq "liang") { # Normalize to sheng
$system = "chinese";
}
#print "Amount $amount\n";
if ($system eq "british") {
#print "British\n";
$intermediate = $amount * 4.546;
} elsif ($system eq "chinese") {
#print "Chinese\n";
$intermediate = $amount;
} else {
$intermediate = $amount;
}
#print "Liter $intermediate\n";
if ($target eq "liter") {
$tgtsystem = "metric";
$final = $intermediate;
} elsif ($target eq "gallon") {
$tgtsystem = "british";
$final = $intermediate * 0.22;
} elsif ($target eq "sheng") { #
$tgtsystem = "chinese";
$final = $intermediate;
}
printf("$srcamount $source = %.2f $target", $final) ;
}