in reply to How does one get all possible matches from regex?
You don't want to be using '$&' in your regex because "..once Perl sees that you need one of $`, $&, or $' anywhere in the program, it provides them for every pattern match. This will slow down your program a bit..." -- Programming Perl
See also:Why does using $&, $`, or $' slow my program down?
Just my 2 kobo advice.
If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me