typestar

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

  1. s/;/, /g reemplaza cada separador; sin /g solo cambiaría el primero.
  2. /r devuelve la copia editada sin tocar $path, y s{}{} cambia los delimitadores.
  3. s/\s+/ /g comprime cada tramo de espacios a uno solo; \u$1 pone mayúscula a cada palabra.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 3 en Expresiones regulares; paso 8 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →