2009年(86)
分类:
2009-01-05 20:42:47
++
, --
, +=
, -=
, .=
等符号。'0'
and ''
, the empty list ()
, and undef 在boolean的上下文中都是FALSE
) or around it (for
) to do that sort of thing
|
For , you have to be more elaborate:
|
7. 由于逻辑控制体是由block定义的(以避免if跟else的配对问题),因此不能省略{},如需变形,有以下几种可选方式。
|
8.
The command starts the next iteration of the loop
The command immediately exits the loop in question. The block, if any, is not executed
The command restarts the loop block without evaluating the conditional again. The block, if any, is not executed.
9. 循环控制语句(next,last,redo等)不对if,unless起作用,如需使用需多加一层{},由于block本身是一个执行一遍的loop。
foreach var (LIST){}
10. Foreach中的VAR的申明,如果带my则作用域在循环内;如果不带my,默认为local,在循环结束时赋回原值;如果变量在循环前已经被申明为my,则使用此变量的值,而不是全局变量的值,类型仍为local。 总之:foreach对于var在循环外的值没有影响。
11. 如果LIST中的值可以为左值,则在循环中对var的修改会体现在LIST中。(但不要对LIST中的数组做添加或删除。)
Switch statements
12. 5.10开始提供switch功能。可以通过
Use feature "switch"; #或者
Use feature ":5.10"; #来开启
13. 基本用法:其中$var的值会自动赋给$_;每个when隐含以break结束;when的匹配使用smart matching。
|
13. When的特性也可用于loop中
|
smart matching
13. 详见:;可以重载~~操作符,实现自定义比较;perl6中的smart matching与版本5中的定义有别。
PODs:enbedded documentation
14. 行首为"= word" 到"=cut" 之间的语句都被认为是comment