博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
perl面向对象小练习
阅读量:7106 次
发布时间:2019-06-28

本文共 1011 字,大约阅读时间需要 3 分钟。

#!/usr/bin/perl

#编写一个面向对象的程序,对设备状态进行统计管理
package DEVICE;
sub new {
        my $class=shift;
        my $ref={
                ip_addr=>undef,
                hw_type=>undef,
                mac_addr=>undef,
                flag_mask=>undef,
                iface=>undef,
        };
        bless ($ref,$class);
}
sub set {
        my $self=shift;
        my ($ip_addr,$hw_type,$mac_addr,$iface)=@_;
        $self->{ip_addr}=$ip_addr;
        $self->{hw_type}=$hw_type;
        $self->{flag_mask}=$flag_mask;
        $self->{iface}=$iface;
}
sub display {
        my $self=shift;
        print "---------------------------------------\n";
        print "IP ADDRESS IS ".$self->{ip_addr}."\n";
        print "HARDWARE TYPE IS ".$self->{hw_type}."\n";
        print "FLAG MASK IS ".$self->{flag_mask}."\n";
        print "INTERFACE IS ".$self->{iface}."\n";
        print "---------------------------------------\n";
}
package main;
        open DF,"<./device";
        my $i=0;
        while (<DF>){
                my @tmp= split(" ",$_);
                ${dev_{$i}}=DEVICE->new();
                ${dev_{$i}}->set(@tmp);
                $i++;
                print  $i."\n";
        }
my $j;
for ($j=0;$j<$i;$j++){
        ${dev_{$j}}->display;
}

说明:device文件位置及内容设置参考下图:

 

本文转自 tiger506 51CTO博客,原文链接:http://blog.51cto.com/tiger506/883238,如需转载请自行联系原作者
你可能感兴趣的文章
做固定比例的页面
查看>>
微服务架构
查看>>
数字信号处理的思考
查看>>
Java接口和抽象类用法总结
查看>>
浅析Java中的final关键字
查看>>
通过B表字段更新A表
查看>>
Matlab常用函数(1)
查看>>
19. Remove Nth Node From End of List C++删除链表的倒数第N个节点
查看>>
【原】centos系统命令部分不可用
查看>>
sqllocaldb
查看>>
因果图法设计测试用例
查看>>
BZOJ4807:車(组合数学,高精度)
查看>>
sas中的sql(8)sql选项解析,数据字典
查看>>
BZOJ4567:[SCOI2016]背单词——题解
查看>>
洛谷3676:小清新数据结构题——题解
查看>>
sed 指定行之间的内容替换
查看>>
MQTT协议简记
查看>>
[转] xgboost
查看>>
[转载]什么是“成功的项目”:谈谈软件交付价值
查看>>
easyui datagrid 动态表头配置
查看>>