# convert IP addresses to unsigned long integers my $addr="192.168.10.2"; my @addrb=split("[.]",$addr); my ( $addrval ) = unpack( "N", pack( "C4",@addrb ) ); my $mask="255.255.254.0"; my @maskb=split("[.]",$mask); my ( $maskval ) = unpack( "N", pack( "C4",@maskb ) ); # calculate network address my $netwval = ( $addrval & $maskval ); # calculate broadcast address my $brodval = ( $addrval & $maskval ) + ( ~ $maskval ); # convert network address to IP address my @netwb=unpack( "C4", pack( "N",$netwval ) ); my $netw=join(".",@netwb); # convert broadcast address to IP address my @brodb=unpack( "C4", pack( "N",$brodval ) ); my $brod=join(".",@brodb); # print print( "Network:$netw\n" ); print( "Broadcast:$brod\n" );