Как я могу эмулировать функциональность 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);

Пожалуйста, дайте мне знать, если это вообще возможно, и какой синтаксис должен быть. Если у вас есть другие предложения, пожалуйста, дайте мне знать.

Спасибо за помощь!

Ответы на вопрос(3)

Ваш ответ на вопрос