http://qs321.pair.com?node_id=59106

ryan has asked for the wisdom of the Perl Monks concerning the following question:

Furthering a question of mine that was answered about generating a list of IPs, i discovered that what i needed required BigInt to store some of the results.

My question is simple I think - just not to me:

currently I get the IP into a variable as I was told using:

$ip1 = map { unpack "N", pack "C4", split /\./} $ARGV[0];

$ARGV[0] will be a dot ip eg: 203.10.10.56

Anything above 128.0.0.0 (roughly) is too large to store in a standard variable so I need ip1 to be a BigInt. As far as I know it needs to be declared with a string in the form: $ip1 = Math::BigInt->new("123456789");

So how could I adapt this map line to initialise a BigInt with the equivalent numerical value as a string? Anything I try to do to manipulate the $ip1 standard variable results in an error saying it is too large.

Thanks