perl面向对象小练习

本文介绍了一个使用Perl编写的面向对象程序,该程序能够从文件中读取设备信息,并通过对象实例对设备的状态进行管理和展示。每个设备对象包含IP地址、硬件类型等属性。

#!/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,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值