/ / Що означає цей розрізний вираз у Perl? - перл

Що означає це розщеплене вираз у Perl? - перл

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

Що робить (split /:/)[0, 2, 1, 5] означає тут

Відповіді:

9 для відповіді № 1

Це означає

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

створити список, розділивши рядок на:, потім взяти елементи 0,2,1,5 цього списку


7 для відповіді № 2

Це список скибочки.

З значень, повернутих split, він повертає перше (індекс 0), третє (індекс 2), друге (індекс 1) і шосте (індекс 5) у такому порядку.

Чесно кажучи, це мало бути очевидним, якби ви запустили програму. Вперед і спробуйте!


4 для відповіді № 3

Він розділяє рядок, збережений у $_ (див. перлвар) за заданим регулярним виразом (в даному випадку одиничним :) і вибирає елементи номер 0, 2, 1 і 5 з отриманого масиву.