Сопоставление с шаблоном: печать строк в следующей строке шаблона в Perl - PullRequest
0 голосов
/ 19 сентября 2018

Вот мой шаблон строки, 'ACTION' - мой шаблон.Выражение должно возвращать 3 параметра, присутствующих в следующей строке шаблона:

Вот шаблон:

ACTION    QUANTITY  USOC      DESCRIPTION                                      
Impact    1         E8PAM     /FIN QC                                           

Выражение должно возвращать $1 = Impact , $2= 1, $3= USOC , $4=/FIN QC

Вот мое испытание:

 if ($line =~/ACTION(.*?)(\s+?)$/) {      
    print $array[$i];
    } 

Это дает вывод как:

Impact    1         E8PAM     /FIN QC

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Ваш вопрос действительно не очень понятен.Но, возможно, что-то вроде этого:

my $action_seen;
while (<$input_fh>) {
  if (/ACTION/) {
    $action_seen = 1;
    next;/
  }

  if ($action_seen) {
    $action_seen = 0;.
    my @data = split;
    # Do whatever you need to do with the data
  }
}
0 голосов
/ 19 сентября 2018

Я нашел ответ на этот вопрос:

          if ($line =~ /ACTION(.*?)(\s+?)$/) {      
                my $action = $array[$i];
                @actionArr=split(/\s+/,$action);
                $action = actionArr[0]; 
                $QUANTITY =actionArr[1]; 

            } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...