$newtoken = ""; while ("$token" ne "$newtoken") { $newtoken = "$token"; $token =~ s@((?:<[^>]*>)*) +((?:<[^>]*>)*)@\1\2@g; }