in reply to not a notabug? sub returning values behaves differently for tied hash

If I take away the complexity caused by returning from sub, then in both cases, 'x' got set:

use strict; use warnings; use Tie::Hash; our %nottied = ('a'..'d'); tie our %tied, "Tie::StdHash"; %tied = ('a'..'d'); $_ = 'x' for (values %tied); $_ = 'x' for (values %nottied); print "tied is now: ", %tied, "\n"; print "nottied is now: ", %nottied, "\n";

This gives you:

tied is now: cxax nottied is now: cxax