in reply to copy and pest on linux

not related with your question, but I would suggest to write this:

use Spreadsheet::WriteExcel; use Spreadsheet::ParseExcel; use Spreadsheet::ParseExcel::Worksheet; use Parse::RecDescent; use Spreadsheet::WriteExcel::Utility; use Spreadsheet::ParseExcel::SaveParser; use Spreadsheet::ParseExcel::Cell;

like this:

use Parse::RecDescent; use Spreadsheet::WriteExcel qw(Utility); use Spreadsheet::ParseExcel qw(SaveParser Cell Worksheet);

Untested but you can get the idea. If you need more functions from the module simply put its names inside qw(), or use qw(all), or omit the qw part: