Я пытаюсь это:
$string ="Group: ALL:ALL:Good"; @str2 = split (/:/,':',2); print "@str2";
Я смотрю в $str[0] = Group и $str[1]= ALL:ALL:Good.
$str[0] = Group
$str[1]= ALL:ALL:Good
Это не работает. В чем будет проблема?
Разве вы не имеете в виду это?
@str2 = split (/:/,$string,2);
В противном случае вы будете разбивать строку :, что кажется бессмысленным.
:
my $string = "Group: ALL:ALL:Good"; my @str = split(/:/, $string, 2); print $str[0]; print $str[1];
Для использования лимита с разделением
@array = split /PATTERN/,EXPR,LIMIT;
С Функция разделения PerlDoc :
Если LIMIT указан и положительный, он представляет собой максимальное количество поля EXPR будут разбиты на, хотя фактическое количество полей возвращается зависит от количества раз PATTERN совпадает в течение EXPR. Если LIMIT не указан или равен нулю, трейлинг нулевые поля удаляются (что потенциальные пользователи поп-музыки преуспеют помнить). Если LIMIT отрицательный, это рассматривается как будто произвольно большой LIMIT был указан. Обратите внимание, что разделение EXPR, который оценивает пустая строка всегда возвращает пустой список, независимо от предела указано.