c:\@Work\Perl\monks>perl -wMstrict -le "my $s = 'one two three four'; ;; $s =~ m{ \A (? \w+) \s+ (? \w+) \s+ (? \w+) \s+ (? \w+) \s* \z }xms; print join '-', @+{ qw(save this for later) }; ;; $s = 'fee fie foe fum'; ;; $s =~ m{ (?{ print join '==', @+{ qw(save this for later) } }) \A (? \w+) \s+ (? \w+) \s+ (? \w+) \s+ (? \w+) \s* \z }xms; print join '+++', @+{ qw(save this for later) }; " one-two-three-four Use of uninitialized value in join or string at (re_eval 1) line 1. Use of uninitialized value in join or string at (re_eval 1) line 1. Use of uninitialized value in join or string at (re_eval 1) line 1. Use of uninitialized value in join or string at (re_eval 1) line 1. ====== fee+++fie+++foe+++fum