加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl面向对象小练习

发布时间:2020-12-16 00:23:18 所属栏目:大数据 来源:网络整理
导读:#!/usr/bin/perl #编写一个面向对象的程序,对设备状态进行统计管理 package DEVICE; sub new { ??????? my $class=shift; ??????? my $ref={ ??????????????? ip_addr=undef, ??????????????? hw_type=undef, ??????????????? mac_addr=undef, ????????????

#!/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文件位置及内容设置参考下图:

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读