I think the OP is probably ok here.
I'm not so sure. DAN0207 is a self-described Perl "beginner", and looking at other posts by this monk doesn't give me the sense that he or she is necessarily aware of the issue of 0- versus 1-based arrays. We also cannot see anything about how the @kpi array is initialized. The whole thing made my buggy-sense tingle.
However, DAN0207 hasn't seen the need to follow up on the point I made here (indeed, replying with a question on a completely different topic), so I guess everything's ok...
Give a man a fish: <%-{-{-{-<