in reply to Regular Exp. in foreach loop Help!

I have no idea what your question is, but, do you realize
my @chk_acc = split('-',@account);
is effectively
my @chk_acc = split('-',4);
Typically, you would use a scalar, not an array, as input to split. The array is being evaluated in scalar context, which results in the size of the array (4).

Also, use strict and warnings because warnings will give you other useful info.

perltidy can help the indenting-impaired :)