in reply to Re^2: Regex capture consumed by non-capturing match
in thread Regex capture consumed by non-capturing match

You could fix it in both places. I would definitely consider passing a global a bug.

May I also suggest an alternate implementation?

#!/usr/bin/perl sub trim_start { for (my $s = @_ ? $_[0] : $_) { s/\A\s+//m; return $_; } } sub trim_end { for (my $s = @_ ? $_[0] : $_) { s/\s+\z//m; return $_; } } { my $test = 'abc , def'; $test =~ /([\s\w]+),([\s\w]+)/; my @words = map trim_start, map trim_end, "$1", "$2"; }

The advantage of that implementation is that its flexible as to how its called.