in reply to detecting URLs and turning them into links

Another approach and not really a direct answer to your question:
perhaps you like to use bbcode or something similar. Then you could offer your users something like
Have a look at [url]http://www.perlmonks.org[/url] an write to [email] +joe@localhost[/email]
to format their posts. You could try BBCode::Parser. I haven tried it, but it sounds promising.

k