in reply to eval function

eval { }, that is, the block form of eval, just executes the code in the block, trapping any dies. An eval block where the code just contains a variable (as in your case), only makes sense if the variable is tied - with it isn't in your case.

What you probably want is:

$data{value} = eval "qq{$data{value}}";
Note the double double quoting of the variable. And note that the double double in neither the previous sentence, nor the current one are typos.