in reply to Re^3: literal lists
in thread literal lists

That makes some sense. -1 is a valid index though, in normal use - it gives you the last element. But in the code you gave, the -1 indeed makes @b an empty array (I didn't know you could do that). Kind of like a quick way to truncate arrays.