use strict;
use warnings;
use Statistics::Descriptive;

my @messwerte = qw(4.1 6.1 7.9 9.9 12.1 13.8 16.0 18.2 19.9 22.1);

my $stat = Statistics::Descriptive::Full->new();

$stat->add_data(@messwerte) ;
display_stat();

sub display_stat 
  {
  my ($b, $a, $r, $rms) = $stat->least_squares_fit();
  print "Regressionsanalyse: Methode der kleinsten Quadrate\n";
  print 'Anzahl Elemente.......: ',  $stat->count(), "\n";
  print 'Summe.................: ', $stat->sum(), "\n";
  print 'Minimum...............: ' , $stat->min(), 
        '(', $stat->mindex(), ". Wert)\n";
  print 'Maximum...............: ', $stat->max(), 
        '(', $stat->maxdex(), ". Wert)\n";
  print "\n";

  printf("Geradengleichung.................: y = %.4f * x + %.4f\n", $a, $b);
  printf("Linearer Korrelationskoeffizient.: %.4f\n", $r);
	# Wurzel aus dem mittleren quadratischen Fehler
  printf("Root Mean Square Error (RMSE)....: %.4f\n", $rms);
  }
