use warnings;
use strict;
use Data::Dump;
my $s = "a aa aaa aaaa";
$s =~ /(?a+) (?a+) (?:(?a+)bbb)?/;
dd \%+;
dd \%{^CAPTURE};
dd \%-;
dd \%{^CAPTURE_ALL};
tie my %hash, "Tie::Hash::NamedCapture", all => 1;
dd \%hash
__END__
{
# tied Tie::Hash::NamedCapture
a => "a",
}
{
# tied Tie::Hash::NamedCapture
a => "a",
}
{
# tied Tie::Hash::NamedCapture
a => ["a", "aa", undef],
}
{
# tied Tie::Hash::NamedCapture
a => "a",
}
{
# tied Tie::Hash::NamedCapture
a => ["a", "aa", undef],
}