in reply to Same code, same data, different execution times?
First off, let me say many thanks to everyone who gave me feedback on this problem, with just six replies I've gained not only a solution to my problem, but also jumped a couple of steps forward in my benchmarking, debugging, and just coding in general.
Now the specifics:
1. First off, graff was absolutely correct, the second half of the source/dest regexp should've been: ((?:\d{1,3}\.){3}\d{1,3})
But all things considered, I think I'll be storing smaller chunks of regexps in variables like graff shows, (read as: All along I should've been storing smaller...)
2. It seems the root of all my troubles was the memory intensive file-slurp... the process was originally designed to run on LWP::UserAgent->content returns, but was later modified to work on the local filesystem instead, I never modded the structure to be able to use line-by-line mode. I was uselessly throwing away resources which was the source of all my troubles.