my @writers = qw(Horace Ovid Virgil Asimov Heinlein Dante);
my @contemporary = splice @writers, 3, 2;
print join(' ', @contemporary);
Asimov Heinlein
my @writers = qw(Horace Ovid Virgil Asimov Heinlein Dante);
splice @writers, 3, 2;
print join(' ', @writers); # Horace Ovid Virgil Dante
выход
Horace Ovid Virgil Dante
В чем разница между этими сценариями. Почему он показывает разные результаты?
Потому что в первом случае вы печатаете возвращаемое значение 'splice', а во втором случае вы видите, что эффект' splice' имел на массиве '@ writers'. У вас нет причин ожидать, что они должны быть одинаковыми, и вы ожидаете, что это неправильно. – Borodin