Regular expressions in Perl 5.143. 5.12 my@in = ( qw(alpha beta gamma) ); my@out = map { s/a/Z/g} @in; @in = ( 'ZlphZ', 'betZ', 'gZmmZ' ); @out = ( 2, 1, 2 ); 4. 5.14 my@in = ( qw(alpha beta gamma) ); my@out = map { s/a/Z/gr} @in; @in = ( 'alpha', 'beta', 'gamma' ); @out = ( 'ZlphZ', 'betZ', 'gZmmZ' ); 5. /r Работает с копией, а не ссылкой Возвращает результат замены, а не количество совпадений 6. 5.12 my$in = 'Loremipsum'; my$out = $in =~ tr/a-z/A-Z/; $in = 'LOREM IPSUM'; $out = 9; 7. 5.14 my$in = 'Loremipsum'; my$out = $in =~ tr/a-z/A-Z/r; $in = 'Loremipsum'; $out = 'LOREM IPSUM'; 10. { usere '/i'; say'Black Perl' =~ qr/perl/ ? 1 : 0; outside(); } sub outside { say'Black Perl' =~ qr/perl/ ? 1 : 0; } 1 0 12. use re '/flags'; Используются флаги, применяемыек выражению, а не оператору(нельзя /g, /c , /r) Ограничено лексической областью видимости Можно указывать несколько флагов: /ixs Можно локально отменять в подвыражении:(?^:) 14. 5.12 my$black = qr/Black/x; my $perl = qr/Perl/; my $any = qr/$black|$perl/; say $any; (?-xism:(?x-ism:Black)|(?-xism:Perl)) 15. 5.14 my$black = qr/Black/x; my $perl = qr/Perl/; my $any = qr/$black|$perl/; say $any; (?^:(?^x:Black)|(?^:Perl)) 19. /l use locale; /u use feature 'unicode_strings'; /a/u, кроме классов , , ... /d no locale; no feature 'unicode_strings'; 22. say ('Z Я' =~ s//_/urg); say('Z Я' =~ s//_/arg); _ _ _ Я