免费注册 查看新帖 |

Chinaunix

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

Learning Perl中的小程序求解 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-11-08 22:12 |只看该作者
原帖由 FinalBSD 于 2005-11-8 22:11 发表
Ctrl+C 相当于killall -TERM,Ctrl+Z相当于bg


悄悄问一句:这个是不是根据os的不同而不同的?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
12 [报告]
发表于 2005-11-08 22:13 |只看该作者
原帖由 兰花仙子 于 2005-11-8 22:12 发表


悄悄问一句:这个是不是根据os的不同而不同的?

据我发现几乎所有的UNIX/*NIX都一样

论坛徽章:
0
13 [报告]
发表于 2005-11-08 22:14 |只看该作者
bg?什么意思?

论坛徽章:
0
14 [报告]
发表于 2005-11-08 22:15 |只看该作者
原帖由 FinalBSD 于 2005-11-8 22:13 发表

据我发现几乎所有的UNIX/*NIX都一样


OH,这样,那学着了哈

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
15 [报告]
发表于 2005-11-09 08:21 |只看该作者
原帖由 poize 于 2005-11-8 22:14 发表
bg?什么意思?

background running....

论坛徽章:
0
16 [报告]
发表于 2005-11-09 10:36 |只看该作者
那我能问一下么
如何才能使得结果为
654
321

论坛徽章:
0
17 [报告]
发表于 2005-11-09 11:13 |只看该作者
在UNIX下用^d结束输入,Windows下用的则是^z结束输入

论坛徽章:
0
18 [报告]
发表于 2005-11-09 20:16 |只看该作者
原帖由 Tiger_cn 于 2005-11-9 10:36 发表
那我能问一下么
如何才能使得结果为
654
321

  1. print scalar reverse $_ foreach (reverse <>);
复制代码


你要的是这句哦

论坛徽章:
0
19 [报告]
发表于 2005-11-09 20:28 |只看该作者
原帖由 Tiger_cn 于 2005-11-8 17:35 发表
这个程序的题目是
Modify the program from the previous exercise so that each file specified on the command line has its lines individually reversed.
其中的 previous exercise
是Write a program th ...


另外,偶的告诉你:

然后答案是
@ARGV = reverse @ARGV;
print reverse <>;


这里第一句没有任何意义,它只是把@ARGV的元素位置反一下。
如果你这样运行脚本的话:

perl test.pl
123
456
ctrl+D

第二句与第一句没有任何关系,而且第一句里面的@ARGV也没有值。

第二句的reverse <>位于列表上下文,它把终端接受的所有行作为列表来处理。
所以上面偶给你的答案里:

print scalar reverse $_ foreach (reverse <>);

foreach (reverse <>);这个位于列表上下文,它把所有行的顺序反转;
scalar reverse $_ 位于标量上下文,把该行的字符顺序反转。
明白了呀?:P

论坛徽章:
0
20 [报告]
发表于 2005-11-10 09:22 |只看该作者
上下文这个概念也正在学习
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP