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