If you actually need the string eval, you've found the right solution. You can get rid of the "Useless use of private variable in void context" warning (you do have warnings enabled, right?) by saying "$k if 0;" instead. And do comment it so someone doesn't wander along and delete the "useless" line.