`

Perl语言入门读书笔记

    博客分类:
  • Perl
 
阅读更多
die默认输出出错文件名以及行号,如想忽略结尾加\n。$!存储系统服务请求失败信息。
$| = 1立即清空缓存区。
%访问整个hash
reverse hash会让键值对互换。
keys values对hash键值分别根据上下文取值。
while和each配合遍历hash。
foreach遍历hash key来遍历hash。
Perl获取当前环境用%ENV,如Path $ENV{"path"}。
$. 文件中最后处理的行号
$@ 最后一个eval抛出的错误信息报告
$$ 正在执行本脚本的进程号

&& || 短路操作符,计算尽可能少的操作数来判断语句真假

.. 范围操作符,标量环境创建flip-flop表达式返回布尔值。左操作数为假时操作符为假,当左操作符为真,则操作符一直为真,同时测试右操作符如为真,则操作符变为假,但当次仍然返回真,此为左右操作数同次计算。如果想等到下次计算再计算右操作数,可使用'...'操作符。
这里因为中文的翻译问题,很容易误解,因为和测试结果不一致。原文是“If you don't want it to test the right operand until the next evaluation”, 而中文书翻译是“如果你不想拖到下一次计算才测试右操作数”,这样翻译是不对的。其实这是not...until在否定句中使用的句型,应该翻译成“如果你想下次计算才测试右操作数”。呵呵
测试例子:
foreach my $x (1..10) {
         # print "$x\n" if $x == 1 .. $x == 1; #输出1
	print "$x\n" if $x == 1 ... $x == 1; #输出1到10
}

第一行代码左为真则操作符为真,验证右操作数也为真则又将操作符置假,只返回本次。
第二行代码左操作数为真并不立即测试右操作数,而是等到下一次,下一次测试时操作符为真,则只测试右操作符,结果为假,则操作符返回真,结果输出所有。
如果操作数是数字直接量,则默认和$.做等于比较
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics