#!/usr/local/bin/perl @m = ("Foo","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec", "B/W"); print<Mortgage Calculation

Mortgage Calculation

Header $arglist = $ENV{'QUERY_STRING'}; # For GET #read(STDIN,$arglist,$ENV{'CONTENT_LENGTH'}); # For POST $arglist =~ s/%([\da-f]{1,2})/pack(C,hex($1))/eig; $arglist =~ s/,//g; @f = split("&",$arglist); # Actually search for the keys since some browser obviously switches things! for ($i=0; $i<=$#f; $i++) { if (@f[$i] =~ /prin=/) { $prin = substr(@f[$i],5); } if (@f[$i] =~ /int=/) { $int = substr(@f[$i],4); } if (@f[$i] =~ /term=/) { $term = substr(@f[$i],5); } if (@f[$i] =~ /strt=/) { $strm = substr(@f[$i],5); } if (@f[$i] =~ /stry=/) { $stry = substr(@f[$i],5); } if (@f[$i] =~ /full=/) { $full = substr(@f[$i],5); } if (@f[$i] =~ /ppay=/) { $ppay = substr(@f[$i],5); } if (@f[$i] =~ /apay=/) { $apay = substr(@f[$i],5); } if (@f[$i] =~ /pay1=/) { $pay1 = substr(@f[$i],5); } if (@f[$i] =~ /ppno=/) { $ppno = substr(@f[$i],5); } if (@f[$i] =~ /outt=/) { $outt = substr(@f[$i],5); } } $stry2 = $stry; $tint2 = 0; for ($i = 1; $i < 13; $i++) { if (@m[$i] eq $strm) { $strt = $i; } } if (length($term) > 4) { $bi_week = 1; $term = 30; } # Canadian interest conversion if ($int =~ /C/) { $l = length($int) -1; $cint = substr($int,0,$l); print "$cint"; $mr = (1 + $cint/200)**(1/6) - 1; $int = $mr * 1200 ; printf("

US rate equivalent of %7.3f %% is %7.3f %%

\n",$cint,$int); } $tt = $term * 12; $i = $int / 1200; if ($tt == 0) { $tt = 360; } #$temp = (1.0 / (1 + $i) ** $tt); $temp = (1 + $i) ** -$tt; if ($temp < 1) { $paymt = ($prin * $i) / (1 - $temp); } else { $paymt = $prin / $tt; } $tint = $paymt * $tt - $prin; $bal = $prin; $yrint = 0; $yrprin = 0; $mm = 0; if ($apay =~ /B/) { $apay = $paymt; $bi_week = 1; } # Biweekly addition if ($outt =~ /Table/) { print "

For the given values:

\n"; print "
Principal \$ $prin \n"; print "
Interest Rate $int % \n"; print "
Amortization Period $term years\n"; if ( $bi_week > 0) { print "BI-WEEKLY"; } if ( $ppay > 0) { print "
Monthly pre-payment $ppay\n"; } print "
Starting month @m[$strt] \n"; print "
Starting year $stry \n"; print "
Monthly Pre-payment \$ $ppay \n"; printf("
Annual Pre-payment \$ %10.2f

\n",$apay); } else { print "

For the given values:

\n\n
\n",$apay); } if ($bi_week > 0) { printf("

Your biweekly payment will be \$ %10.2f

\n",$paymt/2);} else { printf("

Your monthly payment will be \$ %10.2f

\n",$paymt); } if ( $ppay > 0) { printf ("

+ Monthly Prepayment of \$ %10.2f = \$ %10.2f

\n", $ppay,$paymt+$ppay); } print "

The following mortgage would result for $stry :


Where the final summary is

\n
\n"; # $req_income_28 = $paymt /.28 * 12; $req_income_36 = $paymt /.36 * 12; #print "To qualify for this loan you would need an annual income of:\n\n"; print ""; print "Look here for qualifying income requirements"; print<