`
carmark
  • 浏览: 160418 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
社区版块
存档分类
最新评论

【Perl】茴字的多种写法

    博客分类:
  • Perl
阅读更多

大概的思路是从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的选项的作用就是每行的读取出来的意思。

高手确实是高手呀,真是让人望其项背,自叹不如....唯有努力学习呀。

1
1
分享到:
评论

相关推荐

    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-5.10.0...

    PERL编程速成教程(文字中文版)

    PERL编程速成教程是一本全面介绍Perl编程语言的中文资源,适合初学者和有一定经验的程序员提升技能。教程分为三个部分,涵盖了Perl的基础、高级特性以及如何在Web开发中运用Perl来创建CGI(Common Gateway Interface...

    Perl语言学习.pdf

    * Perl语言的字符串处理:Perl语言的字符串可以包含各种字符的任意组合,可以通过字符串连接、复制等运算符来处理字符串。 * Perl语言的正则表达式:Perl语言支持正则表达式,可以对字符串进行复杂的匹配和处理。 ...

    strawberry-perl-5.32.1.1-64bit perl 解释器

    在Strawberry Perl中,这个解释器已经预装了各种模块和库,方便开发者进行各种操作。 描述中的"perl 修改后解释器 加速下载速度"可能是指该版本的Perl解释器经过优化,可能包含了一些定制的改进,例如提高了网络I/O...

    Perl开发环境.zip

    总之,"Perl开发环境.zip" 提供了一个便捷的方式在Windows环境下搭建Perl编程环境,结合Perl丰富的功能和强大的CPAN支持,无论你是初次接触还是经验丰富的Perl开发者,都能快速投入工作,解决各种编程挑战。

    Perl 6 技术参考手册_PERL技术参考_Perl_

    Perl 6 支持多种数据库接口,如 DBI(Database Interface)。你可以使用 `connect` 函数建立数据库连接,然后通过 SQL 查询语句执行数据操作。`prepare` 函数用于预编译 SQL 语句,`execute` 执行预编译的语句,`...

    草莓perl安装包下载

    草莓perl安装包下载,新版本 Strawberry Perl是用于MS Windows的perl环境,其中包含运行和开发perl应用程序所需的一切。 它被设计为尽可能接近UNIX系统上的perl环境。 它包括perl二进制文件,编译器(gcc)+相关...

    windows Strawberry Perl 5.32最新版本

    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小时

    ### Perl入门书籍——《Perl 24小时》关键知识点概览 #### 1....无论是新手还是有经验的程序员,都可以通过《Perl 24小时》这本入门书籍,快速提升Perl编程能力,探索其在各种实际项目中的应用潜力。

    perl下的Pdk模块编译perl程序的方法

    Pdk 模块就是用于此目的的强大工具之一,它支持多种平台(包括 Windows、Linux 和 Solaris)并且兼容不同版本的 Perl 解释器。本文将详细介绍如何使用 Pdk 模块来编译 Perl 程序。 #### 二、环境准备 1. **Perl ...

    Perl语言编程.pdf

    * 高级语言:Perl语言是一种高级语言,它支持面向对象编程、函数编程和过程编程等多种编程范式。 * 通用语言:Perl语言可以应用于多种领域,包括文本处理、网络编程、数据库交互、系统管理员等。 * 灵活语言:Perl...

    Perl编程思想 Perl编程思想

    Perl编程思想是编程领域中的一种独特视角,它涵盖了Perl语言的核心理念、设计哲学以及实际应用中的各种技巧。Perl,全称“Practical Extraction and Reporting Language”,最初由Larry Wall设计,旨在处理文本处理...

    libperl.so openssh、openssl、perl.zip

    在IT领域,libperl.so是一个重要的动态链接库文件,它属于Perl编程语言。Perl是一种功能强大的脚本语言,常用于文本处理、系统管理任务以及网络编程。libperl.so是Perl解释器的核心组件,包含了Perl运行时所需的许多...

    strawberry-perl-5资源下载

    它的语法灵活,允许程序员以多种方式实现同一功能,这有时被称为"Perl的丑陋",但也是其强大之处,因为程序员可以根据个人喜好和任务需求选择最合适的写法。 Strawberry Perl 5 的特点包括: 1. 全面性:它包含Perl...

    perl_Perl_

    标题中的"perl_Perl_"可能是指一系列关于Perl编程的示例或教程,而描述则提到“读取源文件,将字母大小写转换,最后输出一个新文件”,这是Perl处理文本时常见的任务。 在Perl中,读取文件通常使用内置的文件句柄和...

    perl-5.28.zip

    这个压缩包“perl-5.28.zip”包含了适用于多种平台的Perl 5.28版本,包括Linux、Windows和Mac操作系统,以及源代码,使得用户可以在各种环境下使用和定制Perl。 对于Linux平台,Perl是许多系统管理任务和自动化脚本...

    perl语言编程和perl语言入门

    Perl语言的一个独特之处是其“there is more than one way to do it”(TIMTOWTDI)的原则,这意味着有多种方法可以实现相同的功能。这既赋予了Perl灵活性,也可能让初学者感到困惑,因此在学习过程中理解各种方法的...

    perl语言入门+perl语言编程

    Perl的模块生态是其另一个强项,CPAN(Comprehensive Perl Archive Network)包含了数十万个预编译的模块,涵盖各种功能,从网络通信到图形处理,几乎无所不包。学习如何有效地利用这些模块可以极大地提高编程效率。...

    perl6手册perl6

    目前最流行的Perl 6实现是Rakudo,它是Perl 6的主要实现之一,支持多种平台。 #### 1.5 安装Rakudo 安装Rakudo通常可以通过官方提供的安装包或者通过软件包管理器来完成。对于不同的操作系统,具体的安装步骤可能会...

    Perl_examples_perl语言_Perl_

    "Perl_examples"这个压缩包可能包含了各种Perl编程的实例,旨在帮助学习者深入理解和掌握Perl语言的语法和架构。以下是对Perl语言及其相关知识点的详细介绍: 1. **变量与数据类型**:Perl支持多种数据类型,包括...

Global site tag (gtag.js) - Google Analytics