our( $foo, $bar, $qux); $string =~ m[ ( some regex ) (?{ $foo = $^N }) other stuff ( a conditional capture ) (?{ $bar = $^N }) | ( another possibility ) (?{ $bar = $^N }) ... ( a final piece ) (?{ $qux = $^N }) ]x;