my $parser = Data::XLSX::Parser->new; $parser->open($_xls); # dies in module if unable to open $parser->add_row_event_handler( sub { my ($row) = @_; $csv->print( $fh_csv, $row ); } ); $parser->sheet_by_rid( 'rId'.$parser->workbook->sheet_id($_sht) ); close $fh_csv;