This is a very long shot, but here we go anyway: One thing that immediately crossed my mind is the fact that Red Hat changed the default locale to UTF8, I think. I wouldn't know whether this can/should/would have any influence on the problem you mentioned, but maybe it's something to check.

Seems to have worked just fine for me, so now I think it's a context thing, something about how you're using it. :) I'm using the Perl available via RPM, I haven't downloaded a snippet of source yet except for grinder's code. hehe.

I think argathin is right, here. This has been annoying me for the better part of an hour, and I just added the 'use bytes;' pragma (to get rid of the UTF-8 default, and the "split loop" error magically vanishes.
YMMV. :^)
-DH

argathin has it right -- it's Red Hat's use of utf-8 by default. As you've noted, 'use bytes' fixes this within your script.

Another way around it is to unset the LANG environment variable (but for your script, you'd have to reinvoke with the new ENV setting). This is in case you're relying on external programs, such as the sort command, which sometimes break under the utf-8 setting.

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other