in reply to Passing arrays in subs

All the arguments to a sub-call are flattened into one list.

So everyting you pass to ListInsert ends up in @lsList.

You need to pass the first argument as a reference.