in reply to grep fields

I'm a bit concerned by this:
@rec = split /:/ or next;

Because it looks like you think that your split won't work, or will return zero or something if there aren't any colons in the string.

It will. It will split to an array with one item.



($_='kkvvttuubbooppuuiiffssqqffssmmiibbddllffss') =~y~b-v~a-z~s; print