perl实例-gethostbyname从/etc/hosts中匹配主机名

发布时间:2019-11-17编辑:脚本学堂
本文分享一例perl代码,学习下gethostbyname从hosts文件中匹配主机名的方法,有需要的朋友作个参考。

说明:
The syntax is (name, altnames, addrtype, len, addrs) = gethostbyname (inname);

1,使用perl的gethostbyname方法,从hosts文件中取得主机名。

代码:
 

复制代码 代码示例:

#!/usr/local/bin/perl
#edit: www.jb200.com

$machine ="123.1.1.1";
if (!(($name, $altnames, $addrtype, $len, @addrlist) = gethostbyname ($machine))) {
    die ("Machine name $machine not found.n");
}
print ("Equivalent addresses:n");
for ($i = 0; $i < @addrlist; $i++) {
    @addrbytes = unpack("C4", $addrlist[$i]);
    $realaddr = join (".", @addrbytes);
    print ("t$realaddrn");
}

2,获取系统主机名
 

复制代码 代码示例:

#!/usr/bin/perl -w

use Sys::hostname;

$host = hostname();

print "Network host name is: $hostn";