大概的思路是从CU上面来的,转过来,再加上一些注释,仅供娱乐~~~
首先是要解决的问题:将
12
23
34
45
56
67
编程下面的形式:
1223
3445
5667
使用perl的一行代码来做:
下面就是第一种做法:
perl -pe 'chomp if $. % 2' file #如果行数是奇数的话就去掉每行最后的换行
#chomp的作用去掉每行的\n
#$.为Perl的内置变量,当前的行号
但是Randal(Perl hacker,教育家)给出这个方法:
perl -pe 'chomp; $_ .= <>' file #这个比上个的好处就是减少了模的操作
#读取一行后,再通过<>符号继续读取,连接
#到原字符串上面
#$_为内置变量,当前操作的变量内容
后来John W.(another Perl hacker)秀了一个更smart的方法:
perl -lpe '$\=--$|?$,:$/' file
以下来自CU上Perl版主兰花仙子的评论:
“代码写到这样就是神仙了~~ 反正偶一时半会没看明白~~
我也读过大小骆驼呀、高级编程啥的也读过一堆呀,怎么就想不到呢?
达到这一级,除了经验外,更多的是靠冰雪玲珑心了~~
--对,一定要有一颗玲珑的慧心~~
看看“Just another Perl hacker”有多少种写法就知道了。”
John写的代码确实是厉害,各种内置变量。
先介绍一下基本的内置变量:
$. 记录当前处理到第几行了
$/ 改变系统默认的换行符
$\ 改变print输出后的添加符号
$" 哈西输出符号
$, print @array 元素间的连接符
对于上面种还有一个变量是$|,这个变量的初始值为0, --$|后就变成了1,接着在执行
的话就变成了0,如此功能。
现在大概的意思就出来了,-l的选项的作用就是每行的读取出来的意思。
高手确实是高手呀,真是让人望其项背,自叹不如....唯有努力学习呀。
分享到:
相关推荐
perl脚本perl脚本perl脚本perl脚本
用Perl获得随机数字,之前在工作上不会用,先给大家共享
Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0...
windows Strawberry Perl 5.32最新版本 ,适合调试 perl windows Strawberry Perl 5.32最新版本 ,适合调试 perl windows Strawberry Perl 5.32最新版本 ,适合调试 perl windows Strawberry Perl 5.32最新版本 ...
文字版,可编辑,相当给力。分为上中下三部分:perl基础、高级特性、将Perl用于CGI
草莓perl安装包下载,新版本 Strawberry Perl是用于MS Windows的perl环境,其中包含运行和开发perl应用程序所需的一切。 它被设计为尽可能接近UNIX系统上的perl环境。 它包括perl二进制文件,编译器(gcc)+相关...
简而言之,Perl像C一样强大,像awk、sed等脚本描述语言一样方便,被称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix 中的王牌工具”。 Perl 一般被称为“实用报表提取语言”(Practical Extraction and ...
装mysql时提示少perl,安装perl需要依赖包。已包含下面所有包, 版本号匹配。 [Linux]centOS7下RPM安装Perl 下载rpm依赖包,依照顺序安装. perl-parent-0.225-244.el7.noarch perl-...
知道perl下正则表达式的写法,与其他很多的不同
win7+bugzilla+apache+mysql+activePerl环境安装bugzill时: Perl安装 安装: 将ActiveState Perl 安装到C:/Perl64 或C:/Perl 最好是5.16版本,ActivePerl-5.16.3.1604-MSWin32-x64-298023.msi 安装 Modules(下面...
windows环境的perl安装包,不用去官网下载了,测试好用。 strawberry-perl-5.32.1.1-64bit.msi离线安装包(官方),可避免从官网下载速度慢的问题。 windows环境的perl安装包,不用去官网下载了,测试好用。 ...
简而言之,Perl象C一样强大,象awk、sed等脚本描述语言一样方便,被称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix 中的王牌工具”。 Perl 一般被称为“实用报表提取语言”(Practical Extraction and ...
ActivePerl一个可以让你任意执行 Perl 程序的工具软件,其包含了包括有 Perl for Win32、Perl for ISAPI、PerlScript、Perl Package Manager四套开发工具程序,可以让你编写出适用于 unix, windows, linux系统的 CGI...
perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件
pt-query-digest是一个perl语言编写的脚本,windows环境默认不支持perl,因此需要安装perl脚本的依赖程序。 1、从官网下载草莓perl(完全开源) http://strawberryperl.com/ 2、从此处下载国内镜像
作为PERL5家族中的一员,PERL6表现出其独特性能。
Perl语言学习
Perl.TK Perl.TK Perl.TK
Perl 一般被称为“实用报表提取语言”(Practical Extraction and Report Language),虽然有时被称做“病态折中垃圾列表器” (Pathologically Eclectic Rubbish Lister)。它是术语,而不仅仅是简写,Perl 的创造者...
perl by example && Beginning perl for Bioinformatics && Mastering Perl for Bioinformatics && Programming Perl && Apply Perl && Perl语言编程 && Perl 语言入门 等书,都是PDF版,3本中文,其余都是英文。