summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-07-05 14:41:38 -0400
committerJesse Luehrs <doy@tozt.net>2014-07-05 14:44:01 -0400
commit55a9d4cd14df68a73d762872ec7f6a514472798d (patch)
tree4ccbae9610e98fe5f284fbcc59fd2c98d05840b8
parent01f97f6374de81f99aaecdf593615a9d334781da (diff)
downloadspreadsheet-parsexlsx-55a9d4cd14df68a73d762872ec7f6a514472798d.tar.gz
spreadsheet-parsexlsx-55a9d4cd14df68a73d762872ec7f6a514472798d.zip
avoid dying if these tags are missing (#23)
-rw-r--r--lib/Spreadsheet/ParseXLSX.pm12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm
index 264ead6..082228a 100644
--- a/lib/Spreadsheet/ParseXLSX.pm
+++ b/lib/Spreadsheet/ParseXLSX.pm
@@ -75,12 +75,14 @@ sub _parse_workbook {
my ($version) = $files->{workbook}->find_nodes('//fileVersion');
my ($properties) = $files->{workbook}->find_nodes('//workbookPr');
- $workbook->{Version} = $version->att('appName')
- . ($version->att('lowestEdited')
- ? ('-' . $version->att('lowestEdited'))
- : (""));
+ if ($version) {
+ $workbook->{Version} = $version->att('appName')
+ . ($version->att('lowestEdited')
+ ? ('-' . $version->att('lowestEdited'))
+ : (""));
+ }
- $workbook->{Flag1904} = $properties->att('date1904') ? 1 : 0;
+ $workbook->{Flag1904} = $properties && $properties->att('date1904') ? 1 : 0;
$workbook->{FmtClass} = $formatter || Spreadsheet::ParseExcel::FmtDefault->new;