免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3815 | 回复: 5
打印 上一主题 下一主题

perl 三元操作符问题 [复制链接]

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-23 21:28 |只看该作者 |倒序浏览
直接上代码如下,个人认为是三元优先级比较高的问题,但不知道怎么改,看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. $
复制代码

论坛徽章:
0
2 [报告]
发表于 2013-11-23 21:55 |只看该作者
很少用单行的perl代码
不过有几个建议。
1. 加上小括号,明确优先级。 perl太自由了,有时候很难看明白
2. 单行的时候 $变量 可能会和linux下的环境变量冲突。建议加\

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
3 [报告]
发表于 2013-11-23 21:58 |只看该作者
自己也尝试加了,但可能是加的位置不对,运行依然报错
回复 2# fkiori


   

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
4 [报告]
发表于 2013-11-23 22:18 |只看该作者
$F[3]=~4 ? $F[5]="| $F[5]";print @F : next

?: 的3个部分都要求是表达式。语法上多个语句要用 do {} 圈起来才算表达式

$F[3]=~4 ? do { $F[5]="| $F[5]";print @F } : next

论坛徽章:
1
天蝎座
日期:2013-11-25 10:40:37
5 [报告]
发表于 2013-11-23 22:18 |只看该作者
perl -lane 'do{$F[3]=~4 ? $F[5]="| $F[5]";print @F }: next' a

要用do{expr1;expr2;expr3}将多个statements转为一个statement

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
6 [报告]
发表于 2013-11-24 01:23 |只看该作者
@zhlong8@dqw233学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP