Третий операнд (ограничение)
Роль этого необязательного операнда в том, чтобы ограничить число фрагментов, на которые будет разбит заданный текст. Если этот операнд отсутствует, то ограничения нет. Например, оператор
print join '-', split ' ', ' a b c de ', 3;
напечатает
a-b-c de
После возврата двух элементов вернется остаток заданного текста. Если в результате текст разобьется на число частей, которое меньше заданного, то дополнительные элементы не создаются. Например:
print join '-', split ' ', ' a b c de ', 10;
Напечатается: a-b-c-de-. Мы видим, что в этой форме оператор split в отличие от случая, когда третий операнд отсутствует, начинает возвращать конечные пустые элементы.
Также можно ограничить количество возвращаемых значений, если в качестве приемника задать список:
($a,$b,$c) = split /$re/, $text;
После заполнения заданного количества полей Perl прекратит работу оператора split.
Если количество кусков текста меньше заявленного количества элементов списка, то оставшиеся элементы списка получат пустые значения.