LINUX.ORG.RU

perl нид хелп


0

0

когда я юзаю text-balanced я не могу сделать вот так..
($one) = extract_bracketed($str,'{}','(?s).*?abc\s*');
if($str=~/xyz/){
print $str
}
печатается все содержимое $str, а по идее должны толко строчки с xyz, подскажите как можно получить еще одно значение из $str?

anonymous

Re: perl нид хелп

попробуй заменить условие на 2 строчки:

$/='\n';
print $_,"\n" while $str=~/xyz/ig;


vilfred ☆☆ ()
Ответ на: Re: perl нид хелп от vilfred

Re: perl нид хелп

или наверное даже можно print while $str=~/xyz/ig;

по видимому у тебя $str формируется будучи многострочной в смысле перевода каретки \n

Переопределить перевод каретки можно изменив переменную $/='\n'

vilfred ☆☆ ()
Ответ на: Re: perl нид хелп от vilfred

Re: perl нид хелп

->print $_,"\n" while $str=~/xyz/ig;
а почему $_?
у меня значение в $str, а если заменить на $str, то печатается все что есть в $str.

anonymous ()
Ответ на: Re: perl нид хелп от anonymous

Re: perl нид хелп

> а почему $_?

потому что конструктивно язык перл сохраняет результат последнего выражения (в данном случае $str=~/xyz/ig ) в $_

Anoxemian ★★★★★ ()
Ответ на: Re: perl нид хелп от Anoxemian

Re: perl нид хелп

->потому что конструктивно язык перл сохраняет результат последнего выражения (в данном случае $str=~/xyz/ig ) в $_
похоже при text-balanced, нет, просто пустные новые строчки печатаются, но их колличество равно колличеству совпадений /xyz/

anonymous ()
Ответ на: Re: perl нид хелп от anonymous

Re: perl нид хелп

значит тогда смотри что такое функция extract_bracketed там может быть отрицание какоеннить типа !extract_bracketed(); или extract_bracketed(!чето там внутри скобок)...

vilfred ☆☆ ()
Ответ на: Re: perl нид хелп от vilfred

Re: perl нид хелп

->значит тогда смотри что такое функция extract_bracketed там может быть отрицание какоеннить типа !extract_bracketed(); или extract_bracketed(!чето там внутри скобок)...
смотрел, поэтому и спросил, может еще как-нибуть можно?
или передать переменную в другую, но если просто
$str1=$str
то ноавя наследует от предидущей.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.