Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了获取本机所有IP和设备的绑定情况大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#!/usr/bin/perl
use Strict;
use warnings;

#首先,文件通过参数传入
my $arg_len = @ARGV;
my @lines;
if($arg_len == 1) {
    my $p_file_path = $ARGV[0];
    open(PROC_FILE,$p_file_path) || die("open $p_file_path error $?");
    @lines = <PROC_FILE>;
} elsif($arg_len == 0) {
    @lines = <STDIN>;
}

my $dev_name;
my $inet_addr;
my %dev_ip_map;

for(@lines)
{
    chomp($_);
    #首先判断起始字符串
    if(m/^\w+/) {
        #表明是设备文件
        $dev_name = $_;
        $dev_name=~s/\s+.*//i;
    } else {
        #取出IP地址
        if(m/inet /) {
            $inet_addr = $_;
            $inet_addr=~s/^\s+//i;
            $inet_addr=~s/inet /ipv4/i;
            my @kv_str_arr = split(' ',$inet_addr);
            for(@kv_str_arr) {
                if(m/ipv4/) {
                    my @kv_arr = split(':',$_);
                    #将dev name和ipv4地址绑定在一起
                    $dev_ip_map{$dev_namE} = $kv_arr[1];
                }
            }
        }
    }
}

while((my $k,my $v) = each %dev_ip_map) {
    print "$k $v\n";
}

if($arg_len == 1) {
    close(PROC_FILE);
}

大佬总结

以上是大佬教程为你收集整理的获取本机所有IP和设备的绑定情况全部内容,希望文章能够帮你解决获取本机所有IP和设备的绑定情况所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: