#!/usr/local/bin/perl @m = ("Foo","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec", "B/W"); print "Content-type: text/html\n\n"; print "Biweekly Mortgage Calculator\n"; print ""; $arglist = $ENV{'QUERY_STRING'}; if (length($arglist) < 3) { print<Biweekly Mortgage Calculator

This worksheet has been created to help you calculate a bi-monthly payment. Please enter the loan amount, the payment term in years, the interest rate, and wether or not you would like to see the full amortization.

Change these fields as desired:

Principal Loan Balance
Annual Interest Rate (%)
Amortization Length (Years)
EOF exit; } @f = split("&",$arglist); $prin = substr(@f[0],5); $int = substr(@f[1],4); $term = substr(@f[2],5); $full= substr(@f[3],5); $stry2 = $stry; for ($i = 1; $i < 13; $i++) { if (@m[$i] eq $strm) { $strt = $i; } } print "

Biweekly Mortgage Calculator Results

\n"; print "
\n\n"; $tt = $term * 12; $ir = $int / 1200; $temp = (1.0 / (1 + $ir) ** $tt); $paymt = $prin * $ir / (1 - $temp); $tint = $paymt * $tt - $prin; $aint = $tint / $term /12; $bal = $prin; $yrint = 0; $yrprin = 0; $bbal = $prin; $byrint = 0; $byrprin = 0; print "\n"; print ""; for ($i = 1; $i <= $term; $i++ ) { for ($j = 1; $j <= 12; $j++) { $mint = $ir * $bal; $bal = $bal - $paymt + $mint; $yrint = $yrint + $mint; $mprin = $paymt - $mint; $yrprin = $yrprin + $mprin; $bmint = $ir * $bbal; $bbal = $bbal - $paymt + $bmint; $byrint = $byrint + $bmint; $bmprin = $paymt - $bmint; $byrprin = $byrprin + $bmprin; } $bbal = $bbal - $paymt; $byrprin = $byrprin + $paymt; if ($bbal < 0) { $bbal = 0; } printf("\n",$i,$bal,$bbal); } print "
YearPrincipal Remaining
 StandardBiWeekly
%2d\$ %7.2f\$ %7.2f
\n"; print "
"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; printf ("",$paymt ); printf ("",$tint ); printf ("",$stry,$first_yr ); printf ("",$yr2_nam,$snd_yr ); printf ("",$yr2_bal ); printf ("",$aint ); print "\n"; printf ("",$bpaymt ); printf ("",$btint ); printf ("",$bstry,$bfirst_yr ); printf ("",$byr2_nam,$bsnd_yr); printf ("",$byr2_bal ); printf ("",$baint ); print "
For the given values:
Principal \$ $prin
Interest Rate $int %
Term in Years $term
Monthly Summary:
Monthly Payment \$ %7.2f
Total Int \$ %9.2f
%4s Int \$ %8.2f
%4s Int \$ %8.2f
End Bal Dec $yr2_nam \$ %7.2f
Avg Int each Month \$ %7.2f
Biweekly Summary:
Biweekly Payment \$ %7.2f
Total Int \$ %9.2f
%4s Int \$ %8.2f
%4s Int \$ %8.2f
End Bal Dec $yr2_nam \$ %7.2f
Avg Int each
BiWeekly Period
\$ %7.2f
"; print<