http://www.perlmonks.org?node_id=59114


in reply to Re: (tye)Re: BigInt usage
in thread BigInt usage

After some stuffing around I came up with a solution:

The large integers are never a problem until the 'for' loop, so I just used the ACTUAL host count instead of the numbers representing each address, then added the original address representation that was subtracted when it is joined.

I have limited the width of the range regardless because what I am doing with the IPs is fruitless when there are more than 1 million. So BigInt is useless anyway.

my @range = map { unpack "N", pack "C4", split /\./ } $ARGV[0], $ARGV[ +1]; for (0..$range[1]-$range[0]) { print join(".", unpack "C4", pack "N", $_+$range[0]), "\n"; }
I can't fault the code now, does exactly what I want in every case.

Thanks.