То, что вы видите здесь, называется «контекстом».Документация об этом довольно разбросана.Вы также хотите взглянуть на этот урок о «скалярном контексте контекста списка» https://perlmaven.com/scalar-and-list-context-in-perl
Если вы присваиваете результат разделения (или любых вызовов подпрограмм) массиву, это контекст списка:
my @arr = split ' ', $name;
#=> @arr = ('hans', 'georg', 'mustermann');
То, что показывает ваш пример кода, это присвоение их скаляру - и, следовательно, он находится в «скалярном контексте».
Поскольку, естественно, несколько вещей не могут поместиться в одной позиции, какое-то суммированиедолжно быть сделано.В случае функции split
perl5 определил, что число элементов в результате split
должно быть наилучшим.
Проверьте документацию по функции split
: https://perldoc.pl/functions/split - который фактически определяет поведение в скалярном контексте, а также в контексте списка.
Также взгляните на документацию по всем встроенным функциям в https://perldoc.pl/functions - вы найдете определение поведенияв «списочном контексте» и «скалярном контексте» для большинства из них - хотя многие из них не возвращают «размер списков», а скорее что-то еще.