Sustitución con s/// en Perl
Buscar y reemplazar con s///: ediciones globales, y /r cuando el original debe sobrevivir.
use strict;
use warnings;
my $csv = "perl;ruby;go;rust";
$csv =~ s/;/, /g;
print "$csv\n";
# /r returns the edited copy and leaves the original alone
my $path = "/usr/local/share/doc";
my $mounted = $path =~ s{^/usr}{/mnt}r;
print "$path stays, $mounted is new\n";
my $spaced = "too many gaps";
$spaced =~ s/\s+/ /g;
print "$spaced\n";
my $greet = "hello, world";
$greet =~ s/(\w+)/\u$1/g;
print "$greet\n";
Cómo funciona
s/;/, /greemplaza cada separador; sin/gsolo cambiaría el primero./rdevuelve la copia editada sin tocar$path, ys{}{}cambia los delimitadores.s/\s+/ /gcomprime cada tramo de espacios a uno solo;\u$1pone mayúscula a cada palabra.
Palabras clave y builtins usados aquí
myprintuse
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 416
- Tokens
- 69
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 69 segundos.
Paso 2 de 3 en Expresiones regulares; paso 8 de 27 en Fundamentos del lenguaje.