When using base R string functions like `gsub` and `grep`, is there any downside to, as a matter of habit, always specifying `perl = TRUE`?

With `perl=TRUE`, the expressions can do more things (e.g, you can use look ahead or look behind assertions, or you can do case conversion with `\\U`), and the performance is faster as well, as the documentation states.

So, are there any downsides? Is `perl = TRUE` not the default just for backwards compatibility? Are there portability concerns I should be aware of when `perl = TRUE`?