perl's Favorite Default: $_】的更多相关文章

If you omit the control varibele from the beiginning of foreach loop, Perl uses its favrorite default variable $_. This is (mostly) just like any other scalar variable, except for its unusual name. For example: ..) { #use $_ by default print "I can c…
question 1 :数组@xxx调用时,每个元素应该用$xxx[0]/$xxx[1]...   来表示所以$_[0]表示@_的一个元素,和默认缺省变量$_无关,是两个东西请查阅数组元素调用相关章节 question 2 :$_  是perl的缺省变量@_ 是perl的缺省数组…
perl语言的核心是正则表达式,在文本处理上非常有优势,与python类似,但语法不同,perl的语法很灵活,用多了才会觉得好用. 常用知识点总结: perl语法类似于C语言(perl源于Unix),语句由逗号划分,代码层次使用花括号{}划分,但是不必声明变量类型: 标量变量($name),数组(@name),哈希结构(%name),类型标识符,文件句柄没有标识符: 哈希结构可以使用列表创建,但不要以为它也是由圆括号括起来的:在使用键时,用花括号.(特别注意) 数字之间比较用(==.>=.<=…
perl一行式程序系列文章:Perl一行式 对于Perl的一行式perl程序来说,选择要输出的.要删除的.要插入/追加的行是非常容易的事情,因为print/say决定行是否输出/插入/追加/删除.虽然简单,但对于广泛应用在sed的示例还是可以拿到这里来讨论一番. 因为输出/删除/插入/追加行都是通过print/say在不同条件下的操作,所以本文只会介绍输出操作,删除/插入/追加其实都是同样的原理. 输出第一行 $ perl -lne 'print;exit' file.log 输出第13行 $…
perl一行式程序系列文章:Perl一行式 文本大小写转换 全部字符转换成大写或小写,有几种方式: # 转大写 $ perl -nle 'print uc' file.log $ perl -ple '$_ = uc' file.log $ perl -nle 'print "\U$_"' file.log # 转小写 $ perl -nle 'print lc' file.log $ perl -ple '$_ = lc' file.log $ perl -nle 'print &q…
列表和数组 列表 使用括号包围的元素,括号中的元素使用逗号隔开的是列表. 列表中的元素可以是字符串.数值.undef或它们的混合. 列表中的字符串元素需要使用引号包围. 空列表是括号中什么都没有的列表,空列表返回的是undef.但是赋值给别人时,不会当作undef,而是什么都没有(见稍后的例子). (1,2,"perl","python") ("var1","var2","var3") () # 空列表 i…
本文是针对没有Perl基础,但想用perl一行式命令取代grep/awk/sed的人,用于速学Perl基础知识. Perl一行式系列文章:Perl一行式程序 perl的-e选项 perl命令的-e选项后可以书写表达式,例如: perl -e 'print "hello world\n"' Perl中的函数调用经常可以省略括号,所以print "hello world\n"表示的是print("hello world\n"),但并非总是可以省略括号…
perl一行式程序系列文章:Perl一行式 本文用来收集Perl一行式中涉及到的一些选项.特殊变量的说明,可以用来做速查手册. 本文会逐渐更新. 第一次学Perl一行式时,请直接忽略本文内容,并直接从后面的示例部分开始看.本文会在每一个示例中解释出现的选项.变量.函数和语法. 一行式选项 perl一行式语法: perl [-0aFlimMnps] -e 'EXPRESSION' ARGUMENTS perl [-0aFlimMnps] -E 'EXPRESSION' ARGUMENTS 其中"-…
perl一行式程序系列文章:Perl一行式 假如文件file.log内容如下: root x 0 0 root /root /bin/bash daemon x 1 1 daemon /usr/sbin /usr/sbin/nologin bin x 2 2 bin /bin /usr/sbin/nologin sys x 3 3 sys /dev /usr/sbin/nologin sync x 4 65534 sync /bin /bin/sync 每行后加一空行 $ perl -pe '$…
perl一行式程序系列文章:Perl一行式 所有行的行号 $ perl -pe '$_ = "$. $_"' file.log $ perl -ne 'print "$. $n"' file.log 这里涉及了一个特殊变量$.. 这个特殊变量代表的是当前处理行的行号.对于Perl的一行式来说,通过<>隐式打开的文件句柄默认不会关闭,所以如果参数中有多个文件,进入下一个文件时行号不会重置. 例如: $ cat a.txt aaa bbb $ cat b.t…