my $excel_obj = Spreadsheet::ParseExcel->new(); my $workbook = $excel_obj->Parse($arg{xls}); die "Workbook did not return worksheets!\n" unless ref $workbook->{Worksheet} eq 'ARRAY'; for my $worksheet ( @{$workbook->{Worksheet}} ) { my $last_col = $worksheet->{MaxCol} || 0; my $last_row = $worksheet->{MaxRow} || 0; for my $row ( 0 .. $last_row ) { for my $col ( 0,1,$last_col ) { my $cell = $worksheet->{Cells}[$row][$col]; print ref $cell ? $cell->Value : ''; print $arg{field_sep} unless $col == $last_col; } print $arg{record_sep}; # record ends } print "\n"; # worksheet ends }