perl 做为就像胶水一样,将各种语言都黏贴在一起

它轻巧方便,非常适合写小型的脚本(我暂时也没有写超过1000行的perl代码

我最欣赏的是它强大的正则运算能力,尤其其中的“捕获”操作,实在是太厉害了!


基于以上的特点,我认为perl非常适用于:

1. 文本处理  --> 强大的正则表达式

2. 各系统间的粘合  --> 胶水语言


对于正则表达式,网上已经有很多教程了,我例举几个我自己的practice:

1.

   open (my $in, "./template.txt") or die "open error: $!";  // 打开一个文件

   my @lines;

   while (<$in>)     //读入一行

   {

       for ($_) {      //其实这里用for的practice常常是用foreach来实现的

           /apn_oi_replacement/ and do  //如果匹配上了apn_oi_replacement,就 do something

           {

               push (@lines, scalar <$in> ) for (1..3);  //就读入三行

               &processing_apn_oi_replacement(@lines); //对这三行进行处理

               print "***" x 40 ."\n";

               last;    //跳出循环,相当于C中的break(后面如果有判断就不做了)

           }

       }

 

2.

   foreach(@_)         //对整个数组进行遍历

   {

       if(/FQDN:\s+(.*?)\n/s)      //这里?表示非贪婪的匹配 /s作用是让.*也能够match \n

       {

           $fqdn_apn_oi_replacement = $1;

       };

       if(/requested APN:\s+(.*?)\n/s)

       {

           $requestedapn_apn_oi_replacement = $1;

       }

   }


NOTE: 现在只学到了一些非常基础的文本处理方法,并且还需要加强练习,免得忘记!