in reply to Space character when using push function on arrays

Because you're interpolating the array, so all the items are joined using the list separator ( see perlvar $")
@stuff = 1 .. 10; print "@stuff\n"; __END__ 1 2 3 4 5 6 7 8 9 10