c:\@Work\Perl>perl -wMstrict -le "print $]; my $s = 'alter string-N-U-M-B-E-R-O-N-E and string-N-U-M-B-E-R-T-W-O.'; $s =~ s/(?=\S+([[:upper:]]-){2,}[[:upper:]]\b)/%/g; print qq{'$s'}; " 5.008009 'alter %s%t%r%i%n%g%-%N%-%U%-%M%-%B%-%E%-%R%-O-N-E and %s%t%r%i%n%g%-%N%-%U%-%M%-%B%-%E%-%R%-T-W-O.' 5.010001 'alter %string-N-U-M-B-E-R-O-N-E and %string-N-U-M-B-E-R-T-W-O.' 5.012003 'alter %string-N-U-M-B-E-R-O-N-E and %string-N-U-M-B-E-R-T-W-O.' 5.014004 'alter %s%t%r%i%n%g%-%N%-%U%-%M%-%B%-%E%-%R%-O-N-E and %s%t%r%i%n%g%-%N%-%U%-%M%-%B%-%E%-%R%-T-W-O.'