in reply to Re: (tye)Re2: Eval and $@% ...
in thread Eval and $@% ...
That would fail if you put use strict 'refs' in the eval, right?
The eval should inherit use strict 'refs'; from the parent. The problem is that you wouldn't notice it failing unless you checked $@.
Now, I'm curious as to why you keep saying that string eval is a waste.
String eval is usually a waste when you can do without because string eval requires: that the code be compiled each time (a signifigant amount of time, probably), and that you be careful to not make mistakes like having variables expanded before the eval like you did. The first problem is the most signifigant. When you have to parse some perl code, rather then just run the appropriate if or item from a dispatch table it's usually much slower, something you'll notice especially when it's done a lot. Therefore when there are ways to do without it's (usually) best to take them. In fact avoiding evals of strings is probably the reason symrefs where included in the first place.
|
|---|