not an answer, but a means of reconciling - could you also do a qx(stat $_) and see how those values compare to perls built-in stat (or File::Stat 's over-ride)?
my $file = $0; # how BIG am I ?
my $pstat_size = (stat($file));
(my $qstat_size) = qx(stat $file) =~ m/Size: (-?\d+)/;
print "$pstat_size, $qstat_size\n"; # not that big
I ran this against some 2G+ oracle dbf's, no problem
(code assumes *nix or MS system with a visible stat exe somewhere)