On Oct 7, 2011, at 8:07 AM, Rob Dixon wrote:

> Just add the /i modifer (as you had originally) and there is no need to list 
> both the upper and lower case alphabetics.

        Of course.  Err...  :\

> Capturing parenthese should be avoided unless the are needed

        This I don't understand.  Since we're using $1 we need them, no?

>  $string =~ s/\b(?:[aeiouy]{3,4}|[bcdfghjklmnpqrstvwxz]{3,4})\b/\U$1/gi;

        This gave me an error of "use of uninitialized value $1 in uc".  
Removing the non-capturing code works though;

$string =~ s/\b([aeiouy]{3,4}|[bcdfghjklmnpqrstvwxz]{3,4})\b/\U$1/ig;

        This now allows me to step it down to {2,4} without capitalizing the 
'st' in 51st.

Thanks again,
Marc
--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to