KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/mandarintools/cgi-bin/measures.pl
#!/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) ;
}

Anon7 - 2021