in reply to Array Element Occurence

I'm not sure that this line:
@xcounits=[C0,C1,C2,C3,C5,C6,C7,C8,C9,D0,D2,D3, D5,D6,I0,I2,I3,L0,L1,L3,A3,A5,A8,A9];
is doing what you think it is. Presumably you're trying to create an array containing those elements. That's not what you did. You created an array with one element: a reference to an array which contains those elements. You want parens, not square brackets:
@xcounits=(C0,C1,C2,C3,C5,C6,C7,C8,C9,D0,D2,D3, D5,D6,I0,I2,I3,L0,L1,L3,A3,A5,A8,A9);
This will fix the problem where your code is printing that ARRAY(...) stuff. That means that you're printing out an array reference.

I honestly don't know how this is going to affect the main "purpose" of your program, because for the life of me I can't figure out what that is. :)