I've got it! I think - this is a list, not an array, and according to Perlfaq4.pod (I know, I know, but I was looking under "grep") you can't push/pop a list as you can an array. This is also explained very well in the Perl Journal at
http://www.tpj.com/articles/2001/0101/0101a/0101a.htm