in reply to Nonsense error from Perl

The answer is as far away as the documentation for print:

If you're storing handles in an array or hash, or in general whenever you're using any expression more complex than a bareword handle or a plain, unsubscripted scalar variable to retrieve it, you will have to use a block returning the filehandle value instead, in which case the LIST may not be omitted:

print { $files[$i] } "stuff\n"; print { $OK ? STDOUT : STDERR } "stuff\n";

So having read that one could deduce that your statement needs to look like this:

print { $x{handle} } "Wow!\n";

Dave