That's the correct output. You may be misunderstanding this line:
@a = {1, 2, 3, 4, 5};
This line creates an anonymous hash by taking pairs of elements to create individual hash elements. With warnings enabled, you'd have also have been notified that the element "5" has no pair to take with it, so the hash is also improperly specified. Then the reference to this new anonymous hash becomes the sole element of the array @a.
Perhaps you wanted:
@a = (1, 2, 3, 4, 5);
| [reply] [Watch: Dir/Any] [d/l] [select] |
u have to initialize as
@a=(1,2,3,4,5)
or each element within double quotes | [reply] [Watch: Dir/Any] |