阅读更多
1. perl根据上下文context决定返回列表还是标量. 如果表达式不是列表,标量值自动转换为一个元素的列表.
语法:
1. @rocks 表示引用整个列表 $rocks[0],$rocks[1]引用列表元素
$rocks[-1]表示列表最后一个元素
2. 列表的 qw 简写
字符串列表("fred","baney","betty")可以简写为qw(fred baney betty),在这里空白字符会被忽略.qw可以使用各种符号
qw{aa bb cc} qw[aa bb cc] qw!aa bb cc!
3. @{} 可能是表示把{}内的表达式结果转为列表(不太清楚)
4. 函数
定义
# 写入文件内容
sub writeTemp{
my ($filePath,$content) = @_;
open DEST_FILE, ">$filePath";
print DEST_FILE $content;
close DEST_FILE;
}
调用 &writeTemp("mingbaiTemp/".$end.".html", $content);
5. @{[...]}可以使得perl强制对...进行运算,而不是当做一个字符串直接打出来。你有时可能想方便的在字符串内插方法调用或者其他的运算。
print "I am get_my_name()",你想内插一个方法调用,你很郁闷为什么不行呢,是的,就这样用:print "I am @{[get_my_name()]}"
[] 是匿名引用,里面的表达式可以运算
@{} 就是解引用,最后得到表达式的值,而不是引用的地址
6. s///e
/e 修饰词把 REPLACEMENT 当作一个 Perl 代码块,而不仅仅是一个替换的字串。
在第一个 /e 后面每多一个 e(象 /ee,/eee 等等)都等效于对生成的代码调用 eval STRING,每个 /e 相当于一次调用。