#!/usr/bin/perl use strict; use CGI; use CGI::Carp 'fatalsToBrowser'; our $VERSION = 3.11; #INPUTS form values my $q = CGI->new(); my $f_copyerr = $q->param('copyerr'); my $f_model = $q->param('model'); my $f_initial = $q->param('initial'); my @f_mpy=(); # year my @f_mpe=(); # estimate foreach (0..5){ $f_mpe[$_] = $q->param('mpe'.$_) || 0; $f_mpy[$_] = $q->param('mpy'.$_) || 1; } $f_mpy[0]=0; # CALCS my @grand=(0); my @popbyyer=($f_mpe[0]); datafilla(); my $gener = (reverse sort @f_mpy)[0]; my $total = (reverse sort @f_mpe)[0] + $grand[5] - 1; # RESULTS my $results = results(); # print page print "Content-type: text/html\n\n"; print qq(
Program Ver: $VERSION
); # datafilla sub datafilla { for my $y (1..5){ my $y_diff = ($f_mpy[$y] - $f_mpy[$y-1]) || 1; my $e_diff = ($f_mpe[$y] - $f_mpe[$y-1]); $popbyyer[$y] = $e_diff / $y_diff; $grand[$y] = $grand[$y-1] + ( ($e_diff<0) ? abs ($e_diff) : 0 ); } } # calculation results sub results { my $html = q{| ix | f_mpy | f_mpe | popbyyer | grand |
| $ix | $f_mpy[$ix] | $f_mpe[$ix] | $popbyyer[$ix] | $grand[$ix] |