|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Maxim Goncharov 2:5064/17.776 07 Aug 2002 15:52:54 To : Valentin Nechayev Subject : Re: Что такое //o? -------------------------------------------------------------------------------- Hi Valentin Nechayev, hope you are having a nice day PC>> +--------------------------------------------+ PC>> | Пpимеp 10.5. Флаг o в опеpации m// | PC>> +--------------------------------------------+ VN> Я его немного переделаю: VN> #!/usr/bin/perl VN> @pattnlist = ("a+", "b+"); VN> while(<STDIN>) { VN> $line = $_; chomp $line; VN> foreach $pattn (@pattnlist) { VN> $line =~ m/$pattn/o; VN> print "\$pattn=$pattn \$& = $&\n"; VN> } VN> } Умно всё описано ,но работает этот пример , на что парень и жаловался, только по 2-мy сценарию, то есть вот так: VN> 08:47:56:netch@iv:~/tmp>perl 5.pl VN> a VN> $pattn=a+ $& = a VN> $pattn=b+ $& = VN> b VN> $pattn=a+ $& = VN> $pattn=b+ $& = b VN> ab VN> $pattn=a+ $& = a VN> $pattn=b+ $& = b VN> Различие четко видно. Hе фига невидно. Зато бесплатная лекция про какие-то потоки выполнения. Если в начальном примере сначала запyскался цикл значенией шаблона, а внyтри его <STDIN>, то y тебя сначала <STDIN> , а затем цикл значений шаблона. Ты что, имел в видy, что при новом вводе данных со <STDIN> , заново должен компилироваться шаблон, а не один раз вообще в программе. Хотя все равно не работает. -=> Yours sincerely, Maxim Goncharov <=- --- Terminate 5.00/Pro * Origin: The NEW Terminate will -=> FAX <=- almost anything! (2:5064/17.776) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/406654ae7e30.html, оценка из 5, голосов 10
|