Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: ip address list

by aaron_baugher (Curate)
on Jan 19, 2012 at 17:12 UTC ( #948821=note: print w/replies, xml ) Need Help??

in reply to ip address list

So you want to skip the first two addresses, then print up to the broadcast address, removing the netmask. The simplest way would be to increment the address twice before your loop. Then I'd probably use split to remove the netmask portion, though you could certainly use a regex. I tend to use split when I'm thinking "get everything before a certain character". So:

my $ip = NetAddr::IP->new(''); $ip++; # skip network address $ip++; # skip presumed gateway address while( $ip < $ip->broadcast ){ my $iponly = (split '/', $ip++)[0]; #get part before first /, then inc +rement the ip print "$iponly\n"; }

Looks like you could also use NetAddr::IP's functionality to get the address by itself, as in $ip->addr.

Aaron B.
My Woefully Neglected Blog, where I occasionally mention Perl.

Replies are listed 'Best First'.
Re^2: ip address list
by mlebel (Hermit) on Jan 19, 2012 at 17:57 UTC
    That was it Aaron B. Thank you very much, it worked as expected. Thank you to all of you who helped me resolve this problem! Marc

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://948821]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2018-05-21 06:23 GMT
Find Nodes?
    Voting Booth?