2010-09-03 8 views

Respuesta

26

s/// es para la sustitución:

$string =~ s/abc/123/; 

Esto reemplazará el primer "abc" se encuentra en $string con "123".

tr/// es para transliteración:

$string =~ tr/abc/123/; 

Esto reemplazará todas las apariciones de "a" dentro $string con "1", todas las ocurrencias de "b" con "2", y todas las apariciones de "c" con "3".

+4

¡No olvide nuestro putter de golf favorito, 'y ///'! – Daenyth

7

De perlop: Quote and Quote-like Operators

Tenga en cuenta que no hace tr regulares clases de caracteres expresión como \ d o [: lower:]. El operador tr es no equivalente a la utilidad tr (1). Si desea asignar cadenas entre mayúsculas/minúsculas, consulte lc y uc, y en general, considere usar el operador s si necesita expresiones regulares .

12

tr/// no es un operador de expresiones regulares. Es adecuado (y más rápido que s///) para las sustituciones de un solo carácter con otro solo carácter, o (con el modificador d) sustituyendo un solo carácter con cero caracteres.

s/// se debe utilizar para algo más complicado que los casos de uso estrecho de tr.

Cuestiones relacionadas