note
johngg
I could be misunderstanding something but I thought you had to use the <c>s</c> flag to get the regular expression to match across newlines. The following script<p>
<code>
use strict;
use warnings;
my $str = "ab12c\nde34f\ngh56i\njk78l";
my @digits = $str =~ /(\d+)/g;
print "\@digits -- @digits\n\n";
my ($span_d) = $str =~ /(\d\d.*?\d\d)/;
print "\$span_d -- $span_d\n\n";
my ($span_m) = $str =~ /(\d\d.*?\d\d)/m;
print "\$span_m -- $span_m\n\n";
my ($span_s) = $str =~ /(\d\d.*?\d\d)/s;
print "\$span_s -- $span_s\n\n";
</code><p>
produces<p>
<code>
@digits -- 12 34 56 78
Use of uninitialized value in concatenation (.) or string at reSorM line 12.
$span_d --
Use of uninitialized value in concatenation (.) or string at reSorM line 15.
$span_m --
$span_s -- 12c
de34
</code><p>
The <c>m</c> flag doesn't seem to so the trick. Have I missed something?<p>Cheers,<p>JohnGG
544539
544545