in reply to Re^3: /s and /m don't seem to be doing anything
in thread /s and /m don't seem to be doing anything
If a regex is defined in string form, then no regex modifiers are associated with it unless they happen to be explicitly embedded within the string using a (?adlupimsx-imsx) or (?adluimsx-imsx:pattern) construct (see Extended Patterns in perlre).
c:\@Work\Perl\monks>perl -wMstrict -le "my $rs1 = '(?:(?-s).*)'; ;; my $rx1 = qr{ ($rs1) (.*) }xms; print qq{\$rx1: $rx1}; ;; qq{foo\nBAR} =~ m{ $rx1 }xms; print qq{from \$rx1: \$1 '$1' \$2 '$2'}; ;; my $rs2 = '(?:.*)'; ;; my $rx2 = qr{ ($rs2) (.*) }xms; print qq{\$rx2: $rx2}; ;; qq{wig\nWAG} =~ m{ $rx2 }xms; print qq{from \$rx2: \$1 '$1' \$2 '$2'}; " $rx1: (?^msx: ((?:(?-s).*)) (.*) ) from $rx1: $1 'foo' $2 ' BAR' $rx2: (?^msx: ((?:.*)) (.*) ) from $rx2: $1 'wig WAG' $2 ''
Give a man a fish: <%-(-(-(-<
|
|---|