perl 创建包
<pre name="code" class="python"><pre name="code" class="python">uat-app01:/root/test# cat x1.pm
package x1;
use Data::Dumper;
sub new {
my $self ={};
my $invocant = shift;
my $class = ref($invocant) || $invocant;
my ($name,$age,$starting_position,$monthly_salary)=@_;
my $self = {
"name" =>$name,
"age" =>$age
};
print "\$class is $class\n";
print "--------------------\n";
print $self->{name};
print "\n";
print "--------------------\n"; bless($self, $class); # 给予对象性质
return $self;
}; sub sum_var {
my ($self,
$var1, # Name or IP number of host to ping
$var2, # Seconds after which ping times out
) = @_;
my $var3= $var1 + $var2;
return $var3;
}
1; uat-app01:/root/test# cat x1.pl
unshift(@INC,"/root/test");
require x1;
$ed=x1->new('lily','29')
;
print $ed->sum_var(99,5);
print "\n";
print $ed->{name};
print "\n"; uat-app01:/root/test# perl x1.pl
$class is x1
--------------------
lily
--------------------
104
lily
当Perl 看到$ed->sum_var(99,5);
时,它会决定$ed属于哪个类(也就是在其中执行bless的) 在这里,它是x1.
Perl于是就会如下所示调用这个函数 x1::sum_var($ed) 换句话说,箭头左边的对象只是作为相应子程序的第一个参数。 uat-app01:/root/test# cat x1.pl
unshift(@INC,"/root/test");
require x1;
$ed=x1->new('lily','29');
print x1::sum_var($ed,90,66);
print "\n"; uat-app01:/root/test# perl x1.pl
$class is x1
--------------------
lily
--------------------
156
perl 创建包的更多相关文章
- IDEA 创建包和类及基本操作
创建包和类步骤如下: 1. 展开创建的工程,在源代码目录 src 上,鼠标右键,选择 new->package ,键入包名 com.itheima.demo ,点击确定. 2. 在创建好的包上, ...
- Intellij IDEA创建包(package)问题解决方案
问题 在使用IDEA创建包时会出现这样一种场景,就是当一个空包很长时,比如com.secbro.drools.model.这个时候如果你想给drools或model创建同级的包,你会发现,默认创建的包 ...
- Oracle创建包
包: 在公司中,如果业务逻辑比较复杂,需要定义很多过程或者函数.有可能需要定义几十个过程或者函数,这些过程或者函数如果都放到一起,是不是不好管理?我们一般使用包来管理过程或者函数,一个包中可以定义多个 ...
- 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包
089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- Centos6离线安装MySQL5.5.55-1(附带安装包及Perl依赖包)
资源包下载https://pan.baidu.com/s/1U3myYp4GSmDUfZocMWI9FA 密码:xdac 资源包所带有的资源截图 1.上传MySQL-client-5.5.55-1.l ...
- pycharm中创建包时加入的_init_.py文件及_all_的作用
init__.py的主要作用是: 1. Python中package的标识,不能删除 2. 定义__all__用来模糊导入 3. 编写Python代码(不建议在__init__中写python模块,可 ...
- 6、perl创建模块(Exporter)及路径 引用 嵌套 查询模块
参考博客:http://www.cnblogs.com/xudongliang/tag/perl/ 1.perl 模块的创建以及制定perl 模块的路径 (1)创建一个Myfun.pm模块. #/us ...
- 1.1-java创建包和类的方法
1.new-package-命名方法com打头.中间名称.后台要创建的class 2.创建class- new-class 选择一下主方法 代码示例 编译完保存一下就能输出信息,一直没有保存才 ...
- oracle创建包后执行报错:object omgmig.test_package is invalid.
今天学习了一下oracle的包的写法,然后碰到这么个问题.包声明和包主体都正确,但是就是执行报错:object omgmig.test_package is invalid. 这是会报错的sql,看起 ...
随机推荐
- Yii console 创建命令行应用
大家都知道PHP的程序没有进程概念,而且生命周期极短,无法实现一些定时计划或者是计划任务,今天我们看看在YII框架中如何使用计划任务创建命令行应用. 1.在 console/controllers 文 ...
- 【python学习笔记02】python的数据类型2
列表和元组之间的主要区别是:列表括在括号([])和它们的元素和大小是可以改变的,而元组在圆括号(),不能被更新.元组可以被认为是只读列表. 存储在一个列表中的值可以使用切片操作符来访问([]和[:]) ...
- MySQLBackup 使用说明
001.mysqlbackup介绍: mysqlbackup是一个热备份工具.也就是说它不像mysqldump那样给表上一个全局锁,由于mysqldump上了这个锁,所以就造成客户端只能对 数据库进行 ...
- cdecl、pascal、stdcall、fastcall
Directive Parameter order Clean-up Passes parameters in registers?register Left-to-right ...
- RHEL 6.3使用CentOS yum源 (redhat yum安装失败)
由于Redhat的yum在线更新是收费的,如果没有注册的话是不能使用的,即不能在线安装软件.所以yum install 命令每次都安装失败 下面介绍一种更改yum源的方式: 系统说明: 系统:Red ...
- linux ar 命令的使用
摘自http://blog.csdn.net/hxg130435477/article/details/8217247 用途说明 创建静态库.a文件.用C/C++开发程序时经常用到,但我很少单独在命令 ...
- H264源码分析(二)
原文出自http://blog.csdn.net/xfding/article/details/5476763(转载收集) (四)图像参数集语义 pic_parameter_set_rbsp( ) { ...
- jQuery中设置form表单中action值的方法
jQuery中设置form表单中action值的方法 (2011-03-17 10:18:19) 转载▼ 标签: 杂谈 html代码: <form id="myFormId&quo ...
- Codeforces #245(div2)
A:A. Points and Segments (easy) 题目看了n久,開始认为尼玛这是div2的题目么,题目还标明了easy.. 意思是给你一n个点,m个区间,在n个点上放蓝球或者红球,然后让 ...
- HTML5添加背景音乐
html5 audio 给博客 网页加背景音乐 可以加上个按钮或者链接 让其可停止或暂停 下面代码只是暂停 可以弄成暂停 播放两种状态切换.. 可以考虑换成a标签 <a href="# ...