免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: sunzhiguolu
打印 上一主题 下一主题

已经解决.结贴 脚本 Perl - print函数不能打印变量的值 (输出缓冲) [复制链接]

论坛徽章:
18
2015年迎新春徽章
日期:2015-03-04 10:16:53操作系统版块每日发帖之星
日期:2016-05-11 06:20:0015-16赛季CBA联赛之佛山
日期:2016-05-06 22:28:4415-16赛季CBA联赛之广夏
日期:2016-04-22 23:24:00操作系统版块每日发帖之星
日期:2016-04-21 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44操作系统版块每日发帖之星
日期:2016-02-03 06:20:00IT运维版块每日发帖之星
日期:2016-01-31 06:20:00IT运维版块每日发帖之星
日期:2016-01-30 06:20:00IT运维版块每日发帖之星
日期:2016-01-24 06:20:00IT运维版块每日发帖之星
日期:2016-01-23 06:20:00操作系统版块每日发帖之星
日期:2015-11-26 06:20:00
1 [报告]
发表于 2015-09-02 20:04 |显示全部楼层
本帖最后由 SeAL80s 于 2015-09-02 20:17 编辑

回复 1# sunzhiguolu


    我虽然不懂perl,但是把你的代码打进vim,是可以在终端打出onetwothree的。

   1.确定你系统的perl

    $whereis perl

    $perl -v

   2.确定你的mx_perl_operate_array有执行权限

      ls -l mx_perl_operate_array

   3.$pwd

      确定当前工作目录,确定你在本目录下有mx_perl_operate_array

      另外,你用的自己的机器还是学校公用机房,确定你有权chmod +x mx_perl_operate_array

我的系统Fedora 22 x86_64
perl -v This is perl 5, version 20, subversion 2 (v5.20.2)
可以把你的终端截屏贴出来,当前判断,不是你的perl程序问题,可能是你系统环境问题

另外再提醒你一句:论坛里是有神,但是不要见人就叫神,虽然听着会自我膨胀,多看一会你问题,不过一句一个神,时间长了就像跳大神了
再一个,抓重点,你现在的问题是打印不出onetwothree。"终端是行缓冲的",已经脱离问题了,那不再是perl的范围,是Linux底层机制、shell、甚至终端设置问题了。你也发现了,没人给你解释什么是"终端是行缓冲的",这个时候你可以去Bing(我这里不能Google),"linux 终端 行缓冲"类似的...
你是把代码贴出来了,当有人回复代码没问题的时候,你要自己联想一下,把终端执行结果截图出来看看,有时候你看没问题,不代表真的没问题。
在我的机器上,执行你的代码是没问题的。RHEL 6.5虽然也叫Linux,但是RHEL是服务器级别的操作系统,一般没点功利是玩不转的,需要的基础更扎实,所以我现在只能用Fedora .

论坛徽章:
18
2015年迎新春徽章
日期:2015-03-04 10:16:53操作系统版块每日发帖之星
日期:2016-05-11 06:20:0015-16赛季CBA联赛之佛山
日期:2016-05-06 22:28:4415-16赛季CBA联赛之广夏
日期:2016-04-22 23:24:00操作系统版块每日发帖之星
日期:2016-04-21 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44操作系统版块每日发帖之星
日期:2016-02-03 06:20:00IT运维版块每日发帖之星
日期:2016-01-31 06:20:00IT运维版块每日发帖之星
日期:2016-01-30 06:20:00IT运维版块每日发帖之星
日期:2016-01-24 06:20:00IT运维版块每日发帖之星
日期:2016-01-23 06:20:00操作系统版块每日发帖之星
日期:2015-11-26 06:20:00
2 [报告]
发表于 2015-09-02 20:20 |显示全部楼层
回复 22# sunzhiguolu


    你的源代码是one two three,看得见中间是有空格的,但是我输出的是onetwothree ,这个可能就是所说的行缓冲,不加\t \n就没效果。

    我的输出是这样的onetwothree[xiaoyu@VIVIAN-YU ~]$

    你确定你是没输出,还是输出在行首,没换行所以你没看到???

论坛徽章:
18
2015年迎新春徽章
日期:2015-03-04 10:16:53操作系统版块每日发帖之星
日期:2016-05-11 06:20:0015-16赛季CBA联赛之佛山
日期:2016-05-06 22:28:4415-16赛季CBA联赛之广夏
日期:2016-04-22 23:24:00操作系统版块每日发帖之星
日期:2016-04-21 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44操作系统版块每日发帖之星
日期:2016-02-03 06:20:00IT运维版块每日发帖之星
日期:2016-01-31 06:20:00IT运维版块每日发帖之星
日期:2016-01-30 06:20:00IT运维版块每日发帖之星
日期:2016-01-24 06:20:00IT运维版块每日发帖之星
日期:2016-01-23 06:20:00操作系统版块每日发帖之星
日期:2015-11-26 06:20:00
3 [报告]
发表于 2015-09-03 12:56 |显示全部楼层
回复 26# sunzhiguolu


    1.看卡你系统几个perl

      whereis perl

    2.用perl的全路径执行程序,比如/usr/bin/perl myperl


    3.下个ActivePerl,执行你的程序,怀疑系统perl版本过老,或者有bug,或者有多个版本。一般都不推荐用系统自带perl做开发,传说系统自带perl不完整。我都是自己装ActivePerl


       我不做perl开发,不过现在比较常用的版本好像是5.16 ,5.10好像太老吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP