#!/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 {
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";
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檔案位置及内容設定參考下圖:
<a target="_blank" href="http://blog.51cto.com/attachment/201205/015019573.jpg"></a>
本文轉自 tiger506 51CTO部落格,原文連結:http://blog.51cto.com/tiger506/883238,如需轉載請自行聯系原作者