Hi John, thanks for your efforts. The function seems to lessen the impact, but it still leaks memory. (and with amount of input, almost any loss is fatal over time). Sample output from Devel::Leak is below, I don't know if it helps. I've had to go down the csv route because of time pressure. Thanks very much anyway.
new 0xa0ac214 : SV = PVHV(0xa0a8930) at 0xa0ac214 REFCNT = 7 FLAGS = (PADBUSY,PADMY,OBJECT,SHAREKEYS) IV = 20 NV = 0 STASH = 0x9c5fb84 "Spreadsheet::ParseExcel::Format" ARRAY = 0xa0ad478 (0:17, 1:12, 2:2, 4:1) hash quality = 88.5% KEYS = 20 FILL = 15 MAX = 31 RITER = -1 EITER = 0x0
new 0xa0ac220 : SV = RV(0xa0a5b38) at 0xa0ac220 REFCNT = 1 FLAGS = (ROK) RV = 0xa0ac034
new 0xa0ac22c : SV = PVAV(0xa0ac554) at 0xa0ac22c REFCNT = 1 FLAGS = () IV = 0 NV = 0 ARRAY = 0xa0ab3a0 FILL = 3 MAX = 3 ARYLEN = 0x0 FLAGS = (REAL)
new 0xa0ac238 : SV = PVAV(0xa0ac4d0) at 0xa0ac238 REFCNT = 1 FLAGS = () IV = 0 NV = 0 ARRAY = 0xa0ab378 FILL = 3 MAX = 3 ARYLEN = 0x0 FLAGS = (REAL)
new 0xa0ac244 : SV = IV(0xa0aa104) at 0xa0ac244 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 64
new 0xa0ac250 : SV = IV(0xa0aa108) at 0xa0ac250 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 64
...
# Test 3 got: "53285" (./dsu_man.pl at line 167)
# Expected: "33706" (Nuber of SVs created unexpected)
(8)
]
