in reply to Splitting on uppercase letters

The problem is that while you can split on /[A-Z]/ the output is not what you want (i.e. split/[A-Z]/, "SomeOtherString" will give you '','ome','ther','tring'). First, add a space or other character in front of the uppercase letters then split on that new character.

my $string = 'SomeOtherString'; $string =~ s/([[:upper:]])/ $1/g; my @words = split' ',$string; # @words = ('Some', 'Other', 'String');

Update: Or if you are up to it, follow antirice's advice about zero-width positive look-ahead assertions.