in reply to Regexp dashes at boundaries

while(my $line=<DATA>){ $_ .= $line } s/(u)\W?(s)\W?\s*\W?\s*(army)/uc($1.$2).'-'.ucfirst$3/gieo; print # STDOUT: # # US-Army # the US-Army has been # US-Army # USA Army . US-Army __DATA__ U.S. Army the US army has been US - Army USA Army . U-S- Army