У меня есть строка, которую я хочу разделить.Но разделитель определяется во время выполнения, и поэтому мне нужно передать его как переменную.
Что-то вроде my @fields = split(/$delimiter/,$string); не работает.Есть мысли?
my @fields = split(/$delimiter/,$string);
Ввод:
abcd|efgh|23
Ожидаемый результат:
abcd efgh 23
Вы должны экранировать ваш разделитель, поскольку это специальный символ в регулярных выражениях.
Опция 1:
$delimiter = quotemeta($delimiter); my @fields = split /$delimiter/, $string;
Опция 2:
my @fields = split /\Q$delimiter/, $string;