Never mind any of the following. I didn't notice after reading your description that you're setting new output names for new files over and over.
Are you sure you're getting the first sequence and not the last?
open OUT,'>'."$path/$name.out" or die "ERROR: Unable to open $file $!
+\n";
open says about the MODE:
If MODE is ">", the file is opened for output, with existing files first being truncated ("clobbered") and nonexisting files newly created. If MODE is ">>", the file is opened for appending, again being created if necessary.
I would guess after looking a little closer at that line and that documentation you'll realize what's happening in your loop. There are other issues people have mentioned and even hammered upon, but truncating a file over and over is not going to get you cumulative output.