Здравствуйте, alexxx50, Вы писали:
MBy>>А нужно взять именно такой блок или текст в нём?
A>нужно что бы на выходе было так:
A>$1 = IF
A>$2 = PROGNOCATEGORY
A>$3 = %CATEGORYS% gdfgcvmnbvgf
A>$4 = ENDIF
На для именно такого блока вот такой код работает:
#!perl
$_ = '%IF% %PROGNOCATEGORY% %CATEGORYS% sometext... %ENDIF%';
m/%([^%]+)% \s*
%([^%]+)% \s*
(%[^%]+% .*) \s*
%([^%]+)%
/x;
print "$1\n$2\n$3\n$4";