亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: perl 三元操作符問題 [打印本頁]

作者: kernel69    時(shí)間: 2013-11-23 21:28
標(biāo)題: perl 三元操作符問題
直接上代碼如下,個(gè)人認(rèn)為是三元優(yōu)先級(jí)比較高的問題,但不知道怎么改,看perldoc perlop也沒看明白,求幫忙修改,順便再幫忙解釋一下,謝謝大家了
  1. $ perl -lane '$F[3]=~4 ? $F[5]="| $F[5]";print @F : next' a
  2. syntax error at -e line 1, near ""| $F[5]";"
  3. syntax error at -e line 1, near "@F :"
  4. Execution of -e aborted due to compilation errors.
  5. $
復(fù)制代碼

作者: fkiori    時(shí)間: 2013-11-23 21:55
很少用單行的perl代碼
不過有幾個(gè)建議。
1. 加上小括號(hào),明確優(yōu)先級(jí)。 perl太自由了,有時(shí)候很難看明白
2. 單行的時(shí)候 $變量 可能會(huì)和linux下的環(huán)境變量沖突。建議加\
作者: kernel69    時(shí)間: 2013-11-23 21:58
自己也嘗試加了,但可能是加的位置不對(duì),運(yùn)行依然報(bào)錯(cuò)
回復(fù) 2# fkiori


   
作者: zhlong8    時(shí)間: 2013-11-23 22:18
$F[3]=~4 ? $F[5]="| $F[5]";print @F : next

?: 的3個(gè)部分都要求是表達(dá)式。語法上多個(gè)語句要用 do {} 圈起來才算表達(dá)式

$F[3]=~4 ? do { $F[5]="| $F[5]";print @F } : next
作者: dqw233    時(shí)間: 2013-11-23 22:18
perl -lane 'do{$F[3]=~4 ? $F[5]="| $F[5]";print @F }: next' a

要用do{expr1;expr2;expr3}將多個(gè)statements轉(zhuǎn)為一個(gè)statement
作者: kernel69    時(shí)間: 2013-11-24 01:23
@zhlong8@dqw233學(xué)習(xí)了




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2