2015-12-04 4 views
1

В Perl я пытаюсь достичь этого:Как пропустить шаг итерации в цикле while в Perl?

while ($row = <$fh>){ 
    if the row contains the character >: 
      #do something AND then skip to the next line 
    else: 
     #continue to parse normally and do other things 
+1

Вы слышали регулярное выражение? – Biffen

+1

Моя проблема была в пропуске, наглядно проиллюстрированном ниже. Благодарю. – BlueStarry

ответ

7

Вы можете перейти к следующей итерации цикла с next built-in. Поскольку вы читаете строки за строкой, это все, что вам нужно сделать.

Для проверки наличия символа используйте a regular expression. Это делается с m// operator и =~ в Perl.

while ($row = <$fh>) { 
    if ($row =~ m/>/) { 
    # do stuff ... 
    next; 
    } 
    # no need for else 
    # continue and do other stuff ... 
} 
3

Попробуйте так:

while ($row = <$fh>) 
{ 
    if($row =~ />/) 
    { 
     #do something AND then skip to the next line 
     next; 
    } 
    #continue to parse normally and do other things 
} 
Смежные вопросы