Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

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.0.0.0 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 0.0.0.10 -> 0.0.1.10 I can fix this up I guess, but why is it doing that?

Am I using the wrong unpack data type?


Comment on Re: (tye)Re: BigInt usage
Download Code
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.

    Thanks.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (12)
As of 2014-10-01 16:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (29 votes), past polls