`
carmark
  • 浏览: 157594 次
  • 性别: 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脚本perl脚本perl脚本

    perl脚本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版本,Perl-5.10.0...

    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基础、高级特性、将Perl用于CGI

    草莓perl安装包下载

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

    Learning Perl Intermediate Perl Mastering.Per Programming Perl 4本合集 英文 非扫描版

    简而言之,Perl像C一样强大,像awk、sed等脚本描述语言一样方便,被称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix 中的王牌工具”。 Perl 一般被称为“实用报表提取语言”(Practical Extraction and ...

    centos7 perl rpm依赖包

    装mysql时提示少perl,安装perl需要依赖包。已包含下面所有包, 版本号匹配。 [Linux]centOS7下RPM安装Perl 下载rpm依赖包,依照顺序安装. perl-parent-0.225-244.el7.noarch perl-...

    perl正则表达式手册

    知道perl下正则表达式的写法,与其他很多的不同

    perl的注册表添加(附件Perl.reg)

    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(下面...

    strawberry-perl-5.32.1.1-64bit.msi

    windows环境的perl安装包,不用去官网下载了,测试好用。 strawberry-perl-5.32.1.1-64bit.msi离线安装包(官方),可避免从官网下载速度慢的问题。 windows环境的perl安装包,不用去官网下载了,测试好用。 ...

    Perl语言入门教程

    简而言之,Perl象C一样强大,象awk、sed等脚本描述语言一样方便,被称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix 中的王牌工具”。 Perl 一般被称为“实用报表提取语言”(Practical Extraction and ...

    ActivePerl perl 5.12.2.1203 for windows x64 64bit 天涯浪子

    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安装文件perl5.10.1安装文件

    strawberry-perl-5.30.1.1-64bit.zip

    pt-query-digest是一个perl语言编写的脚本,windows环境默认不支持perl,因此需要安装perl脚本的依赖程序。 1、从官网下载草莓perl(完全开源) http://strawberryperl.com/ 2、从此处下载国内镜像

    PERL6学习教程

    作为PERL5家族中的一员,PERL6表现出其独特性能。

    Perl语言学习.pdf

    Perl语言学习

    Perl.TK (TK for perl)

    Perl.TK Perl.TK Perl.TK

    perl 4 详细课程

    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 by example && Beginning perl for Bioinformatics && Mastering Perl for Bioinformatics && Programming Perl && Apply Perl && Perl语言编程 && Perl 语言入门 等书,都是PDF版,3本中文,其余都是英文。

Global site tag (gtag.js) - Google Analytics