Update: It seems that there was problem with the memory when I run your script, Poj. This problem could or could not be related with the perl job.
I'm running again the script with the -d option. When It hits the line
my $table = $doc->getTable($sheetno,'normalize');
The perl script uses the 99-100% of CPU and the 10% of memory. After some minutes the memory consume raises to 81-83% until finally the computer frozens and the process is automatically killed without finishing the job. This takes 6-11 min and explains why outfile.txt is empty. It seems that my spreadsheet file is a hard nut to open. I wonder why.