#!/usr/local/bin/perl # $args = $ENV{'QUERY_STRING'}; if (length($args) < 3) { print<Mortgage Payment Table Calculator

Mortgage Payment Table Calculator

ValueMinimumMaximum
Principal
Interest

Number of Years: Output type:

EOF } else { #($pmin,$pmax,$imin,$imax,$term) = split("&",$args); @v = split("&",$args); $tbl = "N"; for ($i=0; $i<=$#v; $i++) { ($key,$val) = split("=",@v[$i]); $val =~ s/%([\da-f]{1,2})/pack(C,hex($1))/eig; $val =~ s/,//g; $aa{$key} = $val; if (($key =~ "out") && ($val =~ /HTML/)) { $tbl = "Y"; } } $yrs = $aa{"yrs"}; $imn = $aa{"imn"}; $imx = $aa{"imx"}; $tt = $yrs * 12; print "Content-type: text/html\n\n"; print "Monthly Payment Table\n"; print "\n"; print "

Monthly Payments Table for $yrs Years

"; printf ("

For Interest Rates %6.3f to %6.3f Percent

",$imn,$imx); print "

\n"; if ($tbl eq "Y") { print "
\n"; } else { print "\n "; for ($i=0; $i<=8; $i++) { print "------- ";} print "\n"; } for ($p=0; $p<=20; $p++) { $princ = $aa{"pmn"} + ($aa{"pmx"} - $aa{"pmn"})*$p/20; if ($tbl eq "Y") { printf("\n"; } else { print "\n"; } } if ($tbl eq "Y") { print "
Prin\n"; } else { print "
\n"; print "        "; }
  for ($i=0; $i<=8; $i++)
  {
     $int   = $imn + ($imx - $imn)*$i/8;
     if ($tbl eq "Y")
     {
       printf("
%6.3f ",$int); } else { printf(" %6.3f ",$int); } } if ($tbl eq "Y") { print "
%6d",$princ); } else { printf("%6d:",$princ); } for ($i=0; $i<=8; $i++) { $int = $imn + ($imx-$imn)*$i/8; $mi = $int / 1200; $temp = (1.0 / (1 + $mi) ** $tt); if ($temp < 1) { $paymt = $princ * $mi / (1 - $temp); } else { $paymt = $princ / $tt; } if ($tbl eq "Y") { printf(" %7.2f",$paymt); } else { printf(" %7.2f",$paymt); } } if ($tbl eq "Y") { print "
\n"; } else { print "\n\n"; } }