Specifically the backtick command line finds a list of .makelist files in the subdirectories of $dir - hence the array @makelists.
What I am finding is the fork call truncates the @makelists in some cases, but repeatably in the same spot for particular directory calls.
i know this by adding a
print $makelist."\n",
just before the ProcessMakeList call.
however if i move the fork call before the backtick command the array is preserved.
Comment on Re^2: fork() interferring with backtick
If output from external command is truncated, maybe it's this bug (in perl 5.14 ):
https://rt.perl.org/rt3/Ticket/Display.html?id=119097
http://www.perlmonks.org/?node_id=1026468
i.e. data received from pipe can be truncated if SIGnal received (and you have signal handler, thus you are affected). I suggest check $! after backtricks call.