|Syntactic Confectionery Delight|
On each iteration, $newlist changes, so because @newarray = "$newlist" is declared outside the scope of this loop, you are essentially creating a single element list and populating it with the last value of $newlist.
I would recommend that you take a look at Perlintro (safety net) and begin incorporating the use strict pragma into your code. This will help you keep cleaner and more maintainable code as well as help to keep you more aware of variable scope.
Perlstyle talks more about that white space that toolic recommended, along with other suggestions that will help you to make your code more readable. Lastly, you might consider having a read through perldebtut, and begin getting comfortable with debugging. As a rookie myself, I can say that using the debugger to walk through your code a step at a time can have a strong impact on your understanding of what is really happening inside your code.
Here's an example implementing use strict;, incorporating push, and eliminating some single use variables that were in the original.
In reply to Re: Is it possible to get the array with all the elements at the end of a loop?