=over

=item @{^CAPTURE}
X<@{^CAPTURE}> X<@^CAPTURE>

An array which exposes the contents of the capture buffers, if any, of
the last successful pattern match, not counting patterns matched
in nested blocks that have been exited already.

Note that the 0 index of C<@{^CAPTURE}> is equivalent to C<$1>, the 1 index
is equivalent to C<$2>, etc.

    if ("foal"=~/(.)(.)(.)(.)/) {
        print join "-", @{^CAPTURE};
    }

should output "f-o-a-l".

See also L<<< /$<I<digits>> ($1, $2, ...) >>>, L</%{^CAPTURE}> and
L</%{^CAPTURE_ALL}>.

Note that unlike most other regex magic variables there is no single
letter equivalent to C<@{^CAPTURE}>. Also be aware that when
interpolating subscripts of this array you B<must> use the demarcated
variable form, for instance

    print "${^CAPTURE[0]}"

see L<perldata/"Demarcated variable names using braces"> for more
information on this form and its uses.

This variable was added in 5.25.7.

If you need access to this functionality in older Perls you can use this
function immediately after your regexp.

    sub get_captures {
        no strict 'refs';

        my $last_idx = scalar(@-) - 1;
        my @arr      = 1 .. $last_idx;
        my @ret      = map { $$_; } @arr;

        return @ret;
    }

=back