perl学习正则表达式处理文本

Posted huanm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl学习正则表达式处理文本相关的知识,希望对你有一定的参考价值。

一:  进行本章学习前的一些知识储备

1:  Perl最喜欢用的默认变量:$_(摘于perl语言入门78页)

       假如在foreach循环开头省略空置变量,Perl就会用它最喜欢的默认变量$_。

       eg: foreach(1..19) { #默认会用$_作为控制变量

            print "Ican count to $_\n";

                      }

        当未告知perl使用哪个变量或数值时,perl就会自动使用$_,从而使程序员免于命名和键入新变量的痛苦。

2:  处理命令行参数   #出处:p108    

    这个数组是由 Perl解释器事先建立的特殊数组,其内容就是由命令行参数组成的列表。换句话说,它和别的数组没有不同(除了奇怪的全大写名称之          外) ,只不过在程序开始运行时, @ARGV里就已经塞满了调用参数.

    @ARGV首先是一个数组,不管脚本里有没有把它写出来,它始终是存在的。@ARGV是Perl默认用来接收参数的数组,这些参数来源于用户在命令         行上输入的参数。

       如以下例子:

      (1)命令行上输入:

       perl xx.pl  C:/msConvert.exe  C:/in  C:/out

       解释:命令行上输入了三个参数,即C:/msConvert.exe,C:/in和C:/out,这个三个参数是一个程序路径和两个文件夹路径。当用户 在命令行上输入这三    个参数时,perl已经将它们储存在@ARGV这个数组里了。也就是,@ARGV[0]是C:/msConvert.exe,@ARGV[1]是C:/in,@ARGV[2]是C:/out。即        @ARGV=qw(C:/msConvert.exe C:/in C:/out)

      xx.pl脚本里有:

      my ($msConvert,$inDir,$outDir)[email protected][0,1,2];

      解释:这是建立了三个标量,即$msConvert,$inDir,$outDir;然后对这三个标量进行了赋值,即将C:/msConvert.exe赋值给$msConvert,C:/in赋值给$inDir,C:/out赋值给$outDir。

3:  文件名通配(p243)

  类如shell,perl使用glob命令,取得当前目录中的所有文件并按字母顺序排序。

  

以上是关于perl学习正则表达式处理文本的主要内容,如果未能解决你的问题,请参考以下文章

9. 正则表达式

awk-模式匹配

Java正则表达式应用详解

Linux awk 正则表达式正则运算符详细介绍

perl黑魔法18-超强正则

Perl正则表达式:开篇