in reply to OOPS and Eval Statement on Strings

Do you realize that the pointy-paren in
$data->()
is a subroutine call ?

The subroutine call is completely different from yout hashref-dereference in

$data->{somekey1}{somekey2}
What you seem to be looking for (It is unclear from your description) is something like:
$y='{channel}{item}'; foreach my $e (@{eval("\$data->$y")}){...

             I hope life isn't a big joke, because I don't get it.
                   -SNL