You need to set up a routine to call get() after you have run MainLoop(). The easiest way to manage that is to schedule it with after().
# Delete this from your code:
#for ( 0 .. 54 )
#{
# get($_);
# last if ($_ == 53 )
#}
# Replace with:
# Make a closure with $counter.
{ my $counter = 1;
$fetch_data_point = sub {
get($counter++); #collect a data point
$mainwindow->after(100, $fetch_data_point) unless $counter > 5
+4; # schedule the next run, if necessary.
};
}
$mainwindow->after(100, $fetch_data_point ); # wait 100 ms then call
+function ref.