in reply to Swapping keys and values in a hash with slices

It is an acceptable way and typically

$large{keys %foo} = $values %foo;
is used when you want to add one hash to another (large) hash, avoiding to do
%large = (%large, %other)
which does unnecessary copying.

As tomhukins pointed out, there are easier ways of doing what you're doing.

ihb

See perltoc if you don't know which perldoc to read!
Read argumentation in its context!