How fast is string concatenation in Perl? Is it linear to the length of the second operand? If so, what conditions need to be met for this operation to be linear? What are the examples on non-linear concatenation time?

And what about string assignment? When and where does the actual copy of the buffer occurs?

What about other operations like substring or simple regexes?