Coincidencia con regex en Perl
Ligar cadenas a patrones con =~, más !~ y el modificador /i.
use strict;
use warnings;
my $line = "Error: disk /dev/sda1 is 93% full";
# =~ binds a string to a pattern; !~ negates the match
print "flagged\n" if $line =~ /disk/;
print "shouting\n" if $line =~ /error/i;
print "network is fine\n" if $line !~ /eth\d/;
if ($line =~ /(\d+)% full/) {
print "usage at $1\n";
}
Cómo funciona
=~es verdadero cuando el patrón coincide en algún punto de la cadena;!~cuando no./iignora mayúsculas y minúsculas, así queerrorencuentraError.- Los paréntesis capturan los dígitos, y
$1los guarda tras una coincidencia exitosa.
Palabras clave y builtins usados aquí
ifmyprintuse
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 312
- Tokens
- 49
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 49 segundos.
Paso 1 de 3 en Expresiones regulares; paso 7 de 27 en Fundamentos del lenguaje.