in reply to Ambiguity of @{ shift }

It might be worth noting that the ${foo} syntax is used in interpolation to separate variable name from following text when necessary. Thus,     print "bar$foo" . 'baz'; can be written     print "bar${foo}baz";

ihb

Read argumentation in its context!