in reply to A simple,

1. I'm not sure about this, but perhaps you're putting it in scalar context. From PP: "In scalar context, the function concatenates all the elements of LIST together and then returns the reverse of that, character by character."

2. One way to do this would be with join:

print join " ",(reverse @list);
Or you could modify the (local) output field separator:
# In real use you'd probably want this in a block local $, = ' '; print (reverse @list);