in reply to Passing a BigFloat number through a subroutine

You suspect the numbers could be reverting to floats when assigned to the return array? Now that's easy to check: just put in debugging statements where needed.

use Data::Dumper; ... my @return_array = ...; print Dumper \@return_array;

See also the Basic debugging checklist.