in reply to How do I process multiple files in parallel?

As others commented, you should probably move the open out of the while loop. You also need to save the matched values in some variables. In your case I would do it like this:
open (OUT,">Test")|| die; while (<>){ /^Sen = (\S+)/ && do {$sen=$1}; /^Acc = (\S+)/ && do {$acc=$1}; /^Cor = (\S+)/ && do {$cor=$1; push @array,$sen,$acc,$cor; $sen=$acc=$cor=undef; }; }'
Only if you encouter a "Cor" line (the last one of a block) handle the values you accumulated. And don't forget to clear them, just in case your input file is missing some lines.