Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: (tye)Re: BigInt usage

by ryan (Pilgrim)
on Feb 17, 2001 at 12:56 UTC ( #59110=note: print w/replies, xml ) Need Help??

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

Sounds fair to me, so I tried it - am I correct in using "L" instead of "N" in the unpack?

my @range = map { unpack "L", pack "C4", split /\./ } qw( 10.1 +.0.0); print "@range\n"; # the numbers themselves print $range[1]-$range[0]+1, "\n"; # how many addresses for ($range[0]..$range[1]) { print join(".", unpack "C4", pack "N", $_), "\n"; }

When i do the above it reverses the input to -> I can fix this up I guess, but why is it doing that?

Am I using the wrong unpack data type?

Replies are listed 'Best First'.
Re: (tye)Re: BigInt usage
by ryan (Pilgrim) on Feb 17, 2001 at 15:12 UTC
    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.


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://59110]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (1)
As of 2022-01-18 02:30 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (52 votes). Check out past polls.