码迷,mamicode.com
首页 > 其他好文 > 详细

重读了Perl高效编程

时间:2014-11-26 16:08:34      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   使用   sp   文件   on   

再次阅读,发现一些之前忽略掉的内容:

1. 关于引用作为参数传递,例如:

bar(\@bletch);

sub bar{
    my @arr = @{shift}
}

但是这样,shift只是一个变量名称而不是内建函数。如果想要变成内建函数,必须按照下面的方法添加点什么:

my @arr = @{shift()}

或者占位符:

my @arr = @{+shift}

2. select 和write的默认操作对象是当前文件句柄。

shift和pop的默认操作对象是:子程序内为@_,子程序外为@ARGV。

gmtime和localtime的默认操作对象是time函数。

 

3. =>操作符,会将改操作符左边的对象自动识别为一个字符串。

 

4. 若某个函数的返回值为一个数组引用,则以下三种形式都能够工作:

my @arr = @{ function_return_arrayref()}
my @arr = @{ &function_return_arrayref}
my @arr = @{ +function_return_arrayref}

如果想要返回的数组进入一个散列,则可以使用eval:

my $hashref = eval{
    return {key_value_pairs()}    
}

Perl 解释器总是会把花括号中的单个标识符(包括两边空白)都识别为字符串。

 

5. 对于未加参数调用的子程序,子程序会有一个默认为空的@_数组。

如果使用:&加载子程序名称前调用,并且不加圆括号,则会继承当前环境下的@_数组。

 

重读了Perl高效编程

标签:style   blog   io   ar   color   使用   sp   文件   on   

原文地址:http://www.cnblogs.com/hanleilei/p/4123083.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!