in reply to Help with references

If you had turned warnings on, you'd see that your @{shift} is getting interpreted as @{"shift"} (which would also have been caught by "use strict") instead of @{(shift)}.

Moral of the story: use strict; use warnings;.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.