sub do_work { my @working_block = @input_data[$start .. $stop]; ## COPY 1 my @partial_output_data; $, = undef; $\ = undef; my $output_line = 0; for (my $i = 0; $i < @working_block; $i += $files) { # calculates the stddev of each slice and outputs the formatted resuls if (max(@working_block[$i .. $i + $files - 1]) == 0) { ## COPY 2 $partial_output_data[$output_line] = '0.00000E+00'; } else { $partial_output_data[$output_line] = sprintf('%.5E', stddev(@working_block[$i .. $i + $files - 1]) / ## COPY 3 mean(@working_block[$i .. $i + $files - 1])); ## COPY 4 } $output_line++; } @ReturnData[$start / $files .. $stop / $files] = @partial_output_data; ## COPY 5 return; }