I found myself in a position of needing to specify source addresses for LWP http connections, which LWP isn't coded to allow. So I hacked UserAgent to take a local_addr parameter which is propagated to Protocol:http.
It's pretty basic but if anyone cares I can post the diffs. My hack only supports http/s, but it would be probably be easy to extend it to other protocols if they use the same socket creation algorithm. Keary Suska Esoteritech, Inc. "Leveraging Open Source for a better Internet"
