|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Sergey Gernichenko 2:5079/32.34 11 Nov 2001 16:32:10 To : Dmitry Smolin Subject : Re: Можно ли в одну строчку? -------------------------------------------------------------------------------- 11 Nov 01 01:58, you wrote to me: SG>> while (<points>) SG>> {$p{$1}='"'.$2.'"' if (/(\d+)\s+4[dD]\s+([a-zA-Z' SG>> ]+?)\s*($|;)/);} Можно ли записать в одну строчку? Как? DS> Скажем, как-нибудь так: DS> local $/ = undef; Для чего переменная $/ и зачем её здесь "удалять"? DS> %p = <points> =~ /^\s*(\d+)\s+4[dD]\s+([a-zA-Z' ]+?)\s*(?:$|;)/mg; DS> А почему ты допускаешь только вхождения [a-zA-Z' ]? Там, по-хорошему, DS> могут быть любые не управляющие символы, кроме ";". Впрочем, дело, DS> конечно, твое. Просто я не знаю, какие там символы могут быть, я смотрю, какие есть. (я отвечаю за поинтсегмент нашей ноды, фрекаю у босса points.cfg и скриптом призвожу необходимые изменения в сегменте). Выходит, можно использовать шаблон [^;]? Sergey --- GoldED+/W32 1.1.5-1017 * Origin: Hет его пока... (2:5079/32.34) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/33483bee54a9.html, оценка из 5, голосов 10
|