That doesn't really fix anything. The lexically scoped array will be altered, but the original array, @hello, won't end up with those changes in the main scope. speedyshady needs to use a reference, like morgon and kennethk have already said.
Alternatively, your method could be used, but the new list would have to be returned.