Как я могу эмулировать функциональность grep -B в Perl?
Я искал решение, которое позволило бы мне искать строки массива, и, если найдено совпадение строк, вставьте эту строку и две предыдущие строки в массив. Кажется, это было бы легко сделать с помощьюgrep
команда. Однако я не могу заставить это работать. Вот что у меня есть:
sub ipsearch {
my $ip = $_[0];
my @IPVSCONFIG = grep (/\W+virtual\s$ip\s/, @RAWDATA);
}
Можно ли добавить синтаксис "-B 2" в команду grep? Я пробовал несколько форм этого синтаксиса, но я не могу заставить его работать:
@IPVSCONFIG = grep -B 2 (/\W+virtual\s$ip\s/, @RAWDATA);
Пожалуйста, дайте мне знать, если это вообще возможно, и какой синтаксис должен быть. Если у вас есть другие предложения, пожалуйста, дайте мне знать.
Спасибо за помощь!