I only guessing but: probably you cannot manipulate the source address at that level ie
HTTP::Request or
LWP::UserAgent
In fact due to the aim of these modules i hope they make you able to choose what IP to use to make the request if that IP is one of yours (guessing again).
I think that probably you need to make up a fake IP packet instead, perhaps using Net::RawIP
See also How can I simulate multiple IP/MAC combinations on one computer?
I'm interested in your result
L*
There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.