/ / ¿Qué significa esta expresión dividida en Perl? - perl

¿Qué significa esta expresión dividida en Perl? - Perl

while (<>) {
chomp;
print join("t", (split /:/)[0, 2, 1, 5] ), "n";
}

Que hace (split /:/)[0, 2, 1, 5] significa aquí?

Respuestas

9 para la respuesta № 1

Significa

my @fields            = split /:/, $_;
my @fields_to_display = ($fields[0], $fields[2], $fields[1], $fields[5]);

crea una lista dividiendo la línea en:, luego toma los elementos 0,2,1,5 de esta lista


7 para la respuesta № 2

Es un lista de corte.

De los valores devueltos por el split, devuelve el primero (índice 0), el tercero (índice 2), el segundo (índice 1) y el sexto (índice 5), en ese orden.

Honestamente, esto debería haber sido obvio si hubiera ejecutado el programa. ¡Sigue adelante e inténtalo!


4 para la respuesta № 3

Divide la cadena almacenada en $_ (ver perlvar) en una expresión regular dada (en este caso, una sola :) y selecciona los elementos número 0, 2, 1 y 5 de la matriz resultante.