NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
CIDR addresses (Score:2, Informative)
Re:CIDR addresses (Score:2)
It also probably uses a lot more RAM than mine. I tried to keep everything on disk because of the sheer volume of IPs (totaling just over 2 million). We tried to do everything in RAM but it used about 600M of memory, which is too much on an alrea
Re:CIDR addresses (Score:1)
One of MJD's test files had 65536 separate but contiguous x/32 CIDR addresses to merge. If addresses's are contiguous then the middle node is deleted, and the hash object is left with just the start and end of the joined range. If ranges are overlapping, then periodic calls to 'clean' will eliminate the overlapping nodes. If you have many completely separate ranges, then yeah it'll take alot of memory. I'm not sure what you mean by LHS and RHS though (well, I know what they mean, but not the context here :-)
And the original 'puzzle' was posted here [perlmonks.org] if anyone's interested.
Reply to This
Parent
Re:CIDR addresses (Score:2)
Re:CIDR addresses (Score:1)
Ah, then (I think) it would've been easily doable with Net::CIDR::Lite, though what you ended up with is probably more efficient speed and memory-wise, especially if there are alot of lists (and I admit the docs of N::C::L are lacking).
Instead of merging the lists, you'd create a 'spanner' object (dumb name, but I didn't know what else to call it), where the labels are the Socket::inet_aton() of what you want assig