thanks bart - I was able to determine that it is not working for format ids 43, 168 and 169 - and yes, I do recognize, that if 't1' does not resolve to a value in the data, regex extraction would fail - my question was mostly - why doesnt this seemingly correct regex -
<numFmts count="7">
<numFmt numFmtId="43" formatCode="_(* #,##0.00_);_(* \(#,##0.00\);_(*
+"-"??_);_(@_)"/>
<numFmt numFmtId="164" formatCode="[$-409]h:mm\ AM/PM;@"/>
<numFmt numFmtId="165" formatCode="m/d;@"/>
<numFmt numFmtId="166" formatCode="ddd\ mm/dd/yy"/>
<numFmt numFmtId="167" formatCode="0.0%"/>
<numFmt numFmtId="168" formatCode=""$"#,##0.00"/>
<numFmt numFmtId="169" formatCode="m/d/yy;@"/></numFmts>
$member_styles -> contents =~ /numFmtId="$t1" formatCode="([^"]*)/;
my $formatCode = $1 || '';
I will give your regex a try and report back though - thanks again