免费注册 查看新帖 |

Chinaunix

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

单行代码的Perl 程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-15 10:06 |只看该作者 |倒序浏览
精简的代码,虽然可读性不好,但是绝对高效,发挥才思。
一些不同凡响的Unix狂的一个业余爱好就是研究怎样把程序压缩到单行来完成。那些精通Perl 的程序员
能很好地做到这一点。例如一个测试素数的程序:

perl -le 'print "RIME" if (1 x shift) !~ /^(11+)\1+$/' 19

Abigail@fnx.com 贡献了这段代码放在Perl Journal 的
http://www.itknowledge.com/tpj/one-liners01.html. 你可以把19替换为你想要的最后一个数字。

Perl 的功能不仅强大而且简洁。 然而,即便如此, 很少的Perl 程序员的代码有如此紧凑。许多人乐于
写比较松散并且有较高可读性的代码。

其实,单行代码不仅仅光是证明你是一位紧凑代码编写人员,而且它是十分有用的。单行的代码可以在命
令行处理得更快更灵活。下面是一个十分方便的替换命令:

perl -p -i -e 's/this/that/g' filename

它把指定文件中的字符串 *this* 替换为 *that*。

你可以把这条命令放入howto 文件,这条命令很好记,参数为"pie",就是馅饼了,而替换命令就和sed 的一样。

参数含义:
p 打印
i 当场编辑
e 执行命令

下面这条命令:

perl -p -i -e 's/'

.. 把文件的回车去掉,把DOS 格式的文件转化为Unix 格式。

和下面这条命令一样。

tr -d "\015"

另外一个“单行代码”的用处是测试你对语言的理解。为了写一条十分简洁紧凑的代码,你或许不得不查看
一些你不是常用的语法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP