in reply to Help with 'Use of uninitialized value...' error in DB code

You should indicate which line is #47 in your program. There are a number of eval expressions on different lines. Can you redesign to do what you want without eval? It is a tricky function which is often a source of errors and security breaches.

There is one point where errors look likely. On line 8 we see a hash value eval'ed which has the same name as a scalar argument of the sub. If $temp_vars is a hashref, you should get a value from it with $temp_vars->{$1}. If you don't have a global %temp_vars (which from the name seems likely), then $temp_vars{$1} will generate an empty one for you, and feed undef to eval, producing the error you see.

This code appears to parse some sort of tagged text. Is it XML fragments? One of the XML parsers may be more suitable than these regex substitutions.

After Compline,
Zaxo