local_addr = sjcapp [value2]
Как вы разделяете эту строку, так что я получаю 2 значения в моем массиве т.е. array[0] = sjcapp
и array[1] = value2
.Разделить Perl строка с подстроки и пространства
Если я это
@array = split('local_addr =', $input)
тогда мой array[0]
имеет sjcapp [value2]
. Я хочу иметь возможность разделить его на две части в моей самой функции split
.
Я пытался что-то вроде этого, но это не сработало:
split(/local_addr= \s/, $input)
Поскольку файл имеет согласованную структуру, не используя '' 'split''' быть быстрее и проще, чем регулярное выражение для больших наборов данных? Я использовал '' '' awk''' стиль perl "autosplit" в моем ответе ниже, но '' 'sed''' или' '' cut''' тоже мог это сделать. Конечно, perl имеет то преимущество, что он переносится :-) –
Я предполагал, что это было в скрипте Perl, а не в Perl в качестве процессора командной строки, но теперь я вижу, что это может быть так. Я также предположил, что '[' и ']' были буквальными и их нужно было отбросить, что в какой-то момент требует регулярного выражения. Я сомневаюсь, что производительность будет проблемой, если файл не будет огромным, поэтому случай TMTOWTDI, я думаю :) – IMSoP