perl面向对象小练习

简介:

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

目录
相关文章
|
机器学习/深度学习
【从零开始学习深度学习】9.多层感知机MLP及常用激活函数介绍
【从零开始学习深度学习】9.多层感知机MLP及常用激活函数介绍
【从零开始学习深度学习】9.多层感知机MLP及常用激活函数介绍
|
5月前
|
监控 供应链 数据库连接
电商API:销量监控与竞品分析利器
电商数据接口API在现代电商运营中至关重要,可实现品牌价格、销量、评论等数据监控,优化销售策略。接入主流平台如淘宝、天猫、京东等API,或使用RPA技术取数,保障数据安全与效率。通过数据库连接、ERP直连等方式整合分析数据,监控竞品与价格,掌握市场动态。同时,注重数据安全性、技术支持及成本效益,助力企业在竞争中脱颖而出,提升业务效率与竞争力。
210 0
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。
|
小程序 UED 开发者
揭秘支付宝小程序成功之道:UI/UX设计原则与用户体验优化秘籍大公开!
【8月更文挑战第27天】支付宝小程序在移动互联网中扮演着重要角色,优秀的UI/UX设计能显著提升用户满意度。本文首先强调了设计的一致性、简洁性、易用性和响应性原则,确保用户获得顺畅体验。接着,介绍了最佳实践,包括利用支付宝设计组件库保持界面统一、优化加载速度、适应多设备显示、设置清晰导航以及重视用户反馈。最后,提供了一个简单示例展示如何应用支付宝设计组件。遵循这些指导原则,开发者能够构建既美观又实用的小程序。
539 0
|
网络协议 Linux
图形界面配置网络
本文介绍了在Linux上配置网络服务的步骤。首先打开RHEL-01服务器,找到桌面网络配置选项,进入网络配置面板。点击面板右下角的小齿轮,进入有线配置面板,选择IPv4选项,将地址设置为手动。接下来配置IP地址、子网掩码、网关和DNS服务器。配置完成后,使用新的IP地址进行访问。
158 4
图形界面配置网络
|
数据采集 JavaScript 前端开发
深度剖析Selenium与Scrapy的黄金组合:实现动态网页爬虫
深度剖析Selenium与Scrapy的黄金组合:实现动态网页爬虫
|
机器学习/深度学习 算法 PyTorch
Pytorch学习笔记(8):正则化(L1、L2、Dropout)与归一化(BN、LN、IN、GN)
Pytorch学习笔记(8):正则化(L1、L2、Dropout)与归一化(BN、LN、IN、GN)
2043 0
Pytorch学习笔记(8):正则化(L1、L2、Dropout)与归一化(BN、LN、IN、GN)
|
存储 机器学习/深度学习 人工智能
《数据结构-第一章》之顺序表
《数据结构-第一章》之顺序表
209 0
|
存储 弹性计算 分布式计算
科普达人丨一文弄懂什么是云计算?
云计算的定义、分类,以及发展历程。
科普达人丨一文弄懂什么是云计算?