home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
- #********************************************************************
- #
- # term.pl : This script computes the number of interest periods or
- # months left for a loan given the Amount-Owed,
- # Interest-Rate and Monthly-Payment.
- #
- # G. K. Fenton 1/1997
- #
- #********************************************************************
- #
- # Definitions of main variables...
- # $amt_owed = Total amount left to pay on loan.
- # $I = Interest Rate divided by 12 for units of Months then
- # divided by 100 to put into a percentage format.
- # $payment = Monthly payment of existing loan.
- #
- # $term = Number of Monthly payments to go...
- #
- #********************************************************************
- #
- # $Id: term.pl,v 2.2 1997/01/16 03:29:15 curt Exp $
- # (Log is kept at end of this file)
- #
-
-
-
- # Process the Command Line Arguments
- # print @ARGV,"\n";
- # print $#ARGV+1,"\n";
-
- if ($#ARGV+1 < 6) {
- print "\n\n term.pl : This script computes the number of interest periods Left to Pay.\n\n";
- print " Usage: term.pl [-a <amount>] [-i <int_rate>] [-p <payment>]\n\n";
- print "\n Example: term.pl -a 100000 -i 7.0 -p 871.00\n\n";
- print " Where, -a --> Amount left to pay on Loan.\n";
- print " -i --> Annual Interest Percentage Rate.\n";
- print " -p --> Monthly payment of Loan.\n\n";
- exit(1);
- }
-
-
- $i = 0;
- foreach (@ARGV) {
- if ($ARGV[$i] eq "-a") { # Get the Amount Left to Pay.
- $amt_owed = $ARGV[$i+1];
- }
- if ($ARGV[$i] eq "-i") { # Get the Annual Interest Rate.
- $I = $ARGV[$i+1];
- $I = $I/12.0/100.0; # Put into Monthly percentage Units.
- }
- if ($ARGV[$i] eq "-p") { # Get the Monthly Payment.
- $payment = $ARGV[$i+1];
- }
- $i++;
- }
-
- $tmp_var0 = $I*(1.0 + $I)*$amt_owed/$payment;
- if ($tmp_var0 > 1.0) {
- $tmp_var0 = $I*(1.0 + $I)*$amt_owed;
- print "\n\n WARNING: You will never get out DEBT\n";
- print " with this size of Payment!!!\n\n";
- print " Your Payment needs to be greater than: \$$payment\/Month\n\n";
- printf(" Try Paying at least \$%7.2f\/month\n", $tmp_var0);
- print " And be Prepared for a long life of PAYMENTS...\n\n";
-
- $tmp_var1 = log($I);
- $tmp_var2 = log(1.0 + $I);
-
- $term = -1.0*$tmp_var1/$tmp_var2;
- printf("\n Time with suggested payment = %4.0f Months\n\n", $term);
-
- exit(0);
- }
-
- $tmp_var1 = log(1.0 - $tmp_var0 + $I);
- $tmp_var2 = log(1.0 + $I);
-
- $term = -1.0*$tmp_var1/$tmp_var2;
-
- printf("\n Time Left to Pay on Existing Loan = %4.0f Months\n\n", $term);
-
-
- exit(0);
-
-
- # ----------------------------------------------------------------------------
- # $Log: term.pl,v $
- # Revision 2.2 1997/01/16 03:29:15 curt
- # Check to see if the payment is too small and makes a suggestion
- # to a workable minimum payment.
- #
- # Revision 2.1 1997/01/10 19:05:10 curt
- # Initial revision.
- #
-
-