#!/usr/bin/perl
#实现了由ip地址和netmask算出网络号
sub get_netid
{
my @ip = split /\.+/, $_[0]; #ip address
my @netmask = split /\.+/, $_[1]; #netmask
$netid[$_] = $ip[$_] & $netmask[$_] + 0, foreach (0...3); #加0为了使其成为数值运算
print "IP Address is: $ip[0].$ip[1].$ip[2].$ip[3]\n";
print "netmask is: $netmask[0].$netmask[1].$netmask[2].$netmask[3]\n";
print "net id is: $netid[0].$netid[1].$netid[2].$netid[3]\n";
join ".", ($netid[0], $netid[1], $netid[2], $netid[3]);
}
my $ip = "192.254.1.1";
my $netmask = "255.255.0.0";
get_netid($ip, $netmask);
|