Quando a configuração 'perl = TRUE' em 'strsplit' não funciona (como pretendido ou de todo)?

Eu só fiz alguns benchmarking ao tentar otimizar alguns códigos e observei questrsplit comperl=TRUE éMais rápido do que correrstrsplit comperl=FALSE. Por exemplo,

set.seed(1)
ff <- function() paste(sample(10), collapse= " ")
xx <- replicate(1e5, ff())

system.time(t1 <- strsplit(xx, "[ ]"))
#  user  system elapsed 
# 1.246   0.002   1.268 

system.time(t2 <- strsplit(xx, "[ ]", perl=TRUE))
#  user  system elapsed 
# 0.389   0.001   0.392 

identical(t1, t2) 
# [1] TRUE

Então, minha pergunta (ou melhor, uma variação da questão no título) é, sob quais circunstâncias seria absolutamente necessárioperl=FALSE (deixando de fora ofixed euseBytes parâmetros)? Em outras palavras, o que não podemos fazer usandoperl=TRUE isso pode ser feito configurandoperl=FALSE?

questionAnswers(1)

yourAnswerToTheQuestion