# bf stands for best fit; eventually I'll need several that # will mimick this format closely. my $bf_1 = sub { # Arguments are: Add|Equate; [x value; y value]. my $sum_x; my $sum_y; my $sum_x2; my $sum_xy; my $n; $sum_x = 0 unless $sum_x; $sum_y = 0 unless $sum_y; $sum_x2 = 0 unless $sum_x2; $sum_xy = 0 unless $sum_xy; $n = 0 unless $n; if($ARGV[0] eq 'Add') { my @args = @_; $sum_x += $args[1]; $sum_y += $args[2]; $sum_x2 += $args[1]*$args[2]; $sum_xy += $args[1] ** 2; $n++; } elsif ($ARGV[0] eq 'Equate') { my $a; my $b; $a = "(($sum_y - $n*$b)/$sum_x)"; $b = "($sum_xy-$sum_x2*$a)/$sum_x"; eval $b; eval $a; ($a,$b); } else { print "Called with unkown argument\n" } };