s{ ( # $1 for whole match ' (?: \\. | [^']+ )* ' # 'string' | " (?: \\. | [^"]+ )* " # "string" | (?:^|\r*\n)[^\S\n]* # leading spaces | ([^\S\n]+) # $2 is trivial spaces ) }{ $2 ? ' ' : $1 }gsex