|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Nikolay Pichtin 2:5056/30 08 Aug 2002 00:12:25 To : Artem Chuprina Subject : Re: Что такое //o? -------------------------------------------------------------------------------- [Skip] AC> Попробуем для наглядности сделать более другой пример, где /o дает AC> ошибочный результат. По крайней мере защищенный от оптимизации пример, AC> ибо я что-то не слышал, чтобы в perl оптимизировали <DATA>... Если AC> результаты будут не такие, как у меня, значит, у тебя perl просто AC> глючно собран либо глючной версии. AC> ================================================== AC> #!/usr/bin/perl -w AC> for (1..2) { AC> my $line = <DATA>; AC> chomp $line; AC> if ("a" =~ /($line)/) { AC> print "$line matched: $1\n"; AC> } else { AC> print "$line unmatched\n"; AC> } AC> } AC> for (3..4) { AC> my $line = <DATA>; AC> chomp $line; AC> if ("a" =~ /($line)/o) { AC> print "$line matched: $1\n"; AC> } else { AC> print "$line unmatched\n"; AC> } AC> } AC> __DATA__ AC> a AC> b AC> a AC> b AC> ================================================== AC> Результат: AC> a matched: a AC> b unmatched AC> a matched: a AC> b matched: a У меня под Perl, v5.6.1 built for MSWin32-x86-multi-thread a matched: a b unmatched a matched: a b unmatched P.S. А что будет если сделать m//og ? * Там будет все, чего тебе нельзя... -- Hиколай ---------------------------------------------------------------------- --- * Origin: Истина - это вовсе не то, что можно убедительно доказать (2:5056/30) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/18133d51b80a.html, оценка из 5, голосов 10
|