http://search.cpan.org/~xern/Regexp-Bind-0.05/Bind.pm

Regexp::Bind::global_bind_array()で、一応できるみたい。
ソースを見た感じ、自前で実装してもよさそうだけど。

しかし、$#+という表現は初めて見た。