in reply to Cant figure out this part?
Actually, $p is a scalar that contains a reference to an object, but we can easily maintain the illusion that $p is the object.
&cb is a function, not a reference. \&cb is a reference to the function.
So what you have is a function, HTML::LinkExtor::new, being called as a method (using the -> syntax) that takes a reference to a function and a string as parameters, and returns an object. It's being used as a constructor.
Careful reading of chapters 8-12 of the Camel book will offer enlightenment.
-pete
"Pain heals. Chicks dig scars. Glory lasts forever."