大概的思路是从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-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...
PERL编程速成教程是一本全面介绍Perl编程语言的中文资源,适合初学者和有一定经验的程序员提升技能。教程分为三个部分,涵盖了Perl的基础、高级特性以及如何在Web开发中运用Perl来创建CGI(Common Gateway Interface...
* Perl语言的字符串处理:Perl语言的字符串可以包含各种字符的任意组合,可以通过字符串连接、复制等运算符来处理字符串。 * Perl语言的正则表达式:Perl语言支持正则表达式,可以对字符串进行复杂的匹配和处理。 ...
在Strawberry Perl中,这个解释器已经预装了各种模块和库,方便开发者进行各种操作。 描述中的"perl 修改后解释器 加速下载速度"可能是指该版本的Perl解释器经过优化,可能包含了一些定制的改进,例如提高了网络I/O...
总之,"Perl开发环境.zip" 提供了一个便捷的方式在Windows环境下搭建Perl编程环境,结合Perl丰富的功能和强大的CPAN支持,无论你是初次接触还是经验丰富的Perl开发者,都能快速投入工作,解决各种编程挑战。
Perl 6 支持多种数据库接口,如 DBI(Database Interface)。你可以使用 `connect` 函数建立数据库连接,然后通过 SQL 查询语句执行数据操作。`prepare` 函数用于预编译 SQL 语句,`execute` 执行预编译的语句,`...
草莓perl安装包下载,新版本 Strawberry Perl是用于MS Windows的perl环境,其中包含运行和开发perl应用程序所需的一切。 它被设计为尽可能接近UNIX系统上的perl环境。 它包括perl二进制文件,编译器(gcc)+相关...
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 24小时》关键知识点概览 #### 1....无论是新手还是有经验的程序员,都可以通过《Perl 24小时》这本入门书籍,快速提升Perl编程能力,探索其在各种实际项目中的应用潜力。
Pdk 模块就是用于此目的的强大工具之一,它支持多种平台(包括 Windows、Linux 和 Solaris)并且兼容不同版本的 Perl 解释器。本文将详细介绍如何使用 Pdk 模块来编译 Perl 程序。 #### 二、环境准备 1. **Perl ...
* 高级语言:Perl语言是一种高级语言,它支持面向对象编程、函数编程和过程编程等多种编程范式。 * 通用语言:Perl语言可以应用于多种领域,包括文本处理、网络编程、数据库交互、系统管理员等。 * 灵活语言:Perl...
Perl编程思想是编程领域中的一种独特视角,它涵盖了Perl语言的核心理念、设计哲学以及实际应用中的各种技巧。Perl,全称“Practical Extraction and Reporting Language”,最初由Larry Wall设计,旨在处理文本处理...
在IT领域,libperl.so是一个重要的动态链接库文件,它属于Perl编程语言。Perl是一种功能强大的脚本语言,常用于文本处理、系统管理任务以及网络编程。libperl.so是Perl解释器的核心组件,包含了Perl运行时所需的许多...
它的语法灵活,允许程序员以多种方式实现同一功能,这有时被称为"Perl的丑陋",但也是其强大之处,因为程序员可以根据个人喜好和任务需求选择最合适的写法。 Strawberry Perl 5 的特点包括: 1. 全面性:它包含Perl...
标题中的"perl_Perl_"可能是指一系列关于Perl编程的示例或教程,而描述则提到“读取源文件,将字母大小写转换,最后输出一个新文件”,这是Perl处理文本时常见的任务。 在Perl中,读取文件通常使用内置的文件句柄和...
这个压缩包“perl-5.28.zip”包含了适用于多种平台的Perl 5.28版本,包括Linux、Windows和Mac操作系统,以及源代码,使得用户可以在各种环境下使用和定制Perl。 对于Linux平台,Perl是许多系统管理任务和自动化脚本...
Perl语言的一个独特之处是其“there is more than one way to do it”(TIMTOWTDI)的原则,这意味着有多种方法可以实现相同的功能。这既赋予了Perl灵活性,也可能让初学者感到困惑,因此在学习过程中理解各种方法的...
Perl的模块生态是其另一个强项,CPAN(Comprehensive Perl Archive Network)包含了数十万个预编译的模块,涵盖各种功能,从网络通信到图形处理,几乎无所不包。学习如何有效地利用这些模块可以极大地提高编程效率。...
目前最流行的Perl 6实现是Rakudo,它是Perl 6的主要实现之一,支持多种平台。 #### 1.5 安装Rakudo 安装Rakudo通常可以通过官方提供的安装包或者通过软件包管理器来完成。对于不同的操作系统,具体的安装步骤可能会...
"Perl_examples"这个压缩包可能包含了各种Perl编程的实例,旨在帮助学习者深入理解和掌握Perl语言的语法和架构。以下是对Perl语言及其相关知识点的详细介绍: 1. **变量与数据类型**:Perl支持多种数据类型,包括...