while (<>) {
chomp;
print join("t", (split /:/)[0, 2, 1, 5] ), "n";
}
Co robi (split /:/)[0, 2, 1, 5]
znaczy tutaj?
Odpowiedzi:
9 dla odpowiedzi № 1To znaczy
my @fields = split /:/, $_;
my @fields_to_display = ($fields[0], $fields[2], $fields[1], $fields[5]);
utwórz listę, dzieląc linię na:, następnie weź elementy 0,2,1,5 z tej listy
7 dla odpowiedzi nr 2
To jest wycinek listy.
Wartości zwracanych przez split
, zwraca pierwszą (indeks 0), trzecią (indeks 2), drugą (indeks 1) i szóstą (indeks 5) w tej kolejności.
Szczerze mówiąc, powinno to być oczywiste, jeśli uruchomiłeś program. Śmiało i spróbuj!
4 dla odpowiedzi nr 3
Dzieli zapisany ciąg $_
(patrz perlvar) na podanym wyrażeniu regularnym (w tym przypadku pojedynczym :
) i wybiera elementy o numerach 0, 2, 1 i 5 z wynikowej tablicy.