use Spreadsheet::BasicRead; my $ss = new Spreadsheet::BasicRead($xlsFileName) || die "Could not open '$xlsFileName': $!"; while (my $data = $ss->getNextRow()) { $row++; $d = "$row "; print join('|', $d, @$data), "\n"; }