Thanks guys. Appreciate the support. I guess I should get round to reading my mastering regular expressions book but it's rather daunting!
The reason why I use $& is that I had a customer not so long back where for some unknow reason $1, $2, etc were empty, even when there was a match, when I changed to $& it worked. I think he had a very early release of Perl v5.