perl 基础学习(3)
来源:互联网 发布:运维和java哪个好 编辑:程序博客网 时间:2024/04/29 15:42
5.$_ @_ shift
A.@_ 是函数传参时放置参数的数组,可以从中取实参,
比如 my($para1,$para2...)=@_, 函数调用时填了几个参数,便可以从该数组中取到几个参数。
sub 定义函数
my $max_number = &max(1,2);
print "1 and 2 , the max number is $max_number\n";
sub max{
my ($num1,$num2) = @_[0,1]; ## 取出参数列表中的元素。
........此处省略求max运算
}
B.$_ 是默认参数的意思,指的是在不指定的情况下,程序处理的上一个变量搜索,比如
open(IN,"<file.txt")
while(<IN>)
{
print $_;
}
close(IN);
这个例子是打开一个文本文件,读取每一行,在没有指定参数的情况下,$_当时指向了从文件中读取的每一行。
C. shift 将数组的第一个元素 $array[0] 移走, 并将这个元素回传(return).
sub function {
my $content = shift
print $content;
}
下文应该是这样
function ( "haha!" )
执行後会出现 haha!
@arr = (1,2,3,4);
my $str = shift @arr;
现在 $str是 1, @arr 是 (2,3,4)
当你将一些参数传入涵数(sub)时, 该涵数里就会有一个叫 @_ 的数组自动生成,
并将你输入的参数存起. shift ; 其实就是 shift @_ 的意思.
6 执行命令常见方法;
system e.g: my $ret = system("mkdir xx");
``(反引号) e.g: my $ret = `pwd`
7 程序块
BEGIN 当 Perl 执行一个程序时,它会先编译源代码,如果编译成功,就开始执行源代码的第一个句子。有时你会想在源代码进行编译之前执行一些初始化的工作,例如在@INC 加入目录,以便在编译之前告诉 Perl 在哪里找模块文件。你可以用 BEGIN 子程序来做到这种效果,当Perl 编译完这个子程序后,就会立即执行它。
CHECK 在编译结束之后执行。其作用是执行类型检查。
INIT 在编译结束之后执行。其作用是在主运行阶段开始之前初始化变量和数据结构。
END 你可以用 END 子程序,在程序执行完毕时执行一些工作。
A.@_ 是函数传参时放置参数的数组,可以从中取实参,
比如 my($para1,$para2...)=@_, 函数调用时填了几个参数,便可以从该数组中取到几个参数。
sub 定义函数
my $max_number = &max(1,2);
print "1 and 2 , the max number is $max_number\n";
sub max{
my ($num1,$num2) = @_[0,1]; ## 取出参数列表中的元素。
........此处省略求max运算
}
B.$_ 是默认参数的意思,指的是在不指定的情况下,程序处理的上一个变量搜索,比如
open(IN,"<file.txt")
while(<IN>)
{
print $_;
}
close(IN);
这个例子是打开一个文本文件,读取每一行,在没有指定参数的情况下,$_当时指向了从文件中读取的每一行。
C. shift 将数组的第一个元素 $array[0] 移走, 并将这个元素回传(return).
sub function {
my $content = shift
print $content;
}
下文应该是这样
function ( "haha!" )
执行後会出现 haha!
@arr = (1,2,3,4);
my $str = shift @arr;
现在 $str是 1, @arr 是 (2,3,4)
当你将一些参数传入涵数(sub)时, 该涵数里就会有一个叫 @_ 的数组自动生成,
并将你输入的参数存起. shift ; 其实就是 shift @_ 的意思.
6 执行命令常见方法;
system e.g: my $ret = system("mkdir xx");
``(反引号) e.g: my $ret = `pwd`
7 程序块
BEGIN 当 Perl 执行一个程序时,它会先编译源代码,如果编译成功,就开始执行源代码的第一个句子。有时你会想在源代码进行编译之前执行一些初始化的工作,例如在@INC 加入目录,以便在编译之前告诉 Perl 在哪里找模块文件。你可以用 BEGIN 子程序来做到这种效果,当Perl 编译完这个子程序后,就会立即执行它。
CHECK 在编译结束之后执行。其作用是执行类型检查。
INIT 在编译结束之后执行。其作用是在主运行阶段开始之前初始化变量和数据结构。
END 你可以用 END 子程序,在程序执行完毕时执行一些工作。
0 0
- perl 基础学习(3)
- perl 基础学习(1)
- perl 基础学习(2)
- Perl基础学习总结
- perl基础学习1
- perl基础学习-哈希
- perl基础学习-数组
- perl学习笔记-----------------------(3)
- perl基础学习-读文件
- perl基础(1)
- Perl学习笔记(3)
- perl学习(3) 列表
- Perl学习笔记1-基础摘要
- Perl学习(一)
- Perl学习(二)
- Perl学习(三)
- Perl学习(四)
- Perl学习(五)
- grep、sed和awk基本用法汇总
- Pro Android学习笔记(九六):AsyncTask(5):横竖屏切换问题
- IOS_FMDB有关字典、数组存储及获取问题
- 辣椒的美容功效
- Android 使用 File Explorer打不开data目录解决方法恢复
- perl 基础学习(3)
- popupWindow的弹出与关闭
- js判断浏览器版本
- phonegap经典文
- 视频及其他类型云存储平台 备忘
- c语言(a < b < c )的陷阱
- python 安装PIL
- 数据库索引,视图,触发器,储存过程的作用
- cocos2d-x3.0 柱图