Perl入门一,通过shell执行perl语句

前言     

基于《Perl语言参考手册》介绍,Perl是Practical Extraction and Report
Language
的取首字母缩写(C语言,实用报表提取语言),它是由LarryWall设计的,并由她不断更新和保障,用于在UNIX环境下编程。

  • Perl具有高级语言(如C)的有力能力和灵活性。事实上,你将看到,它的无数特色是从C语言中借用来的。
  • 与脚本语言一样,Perl不需要编译器和链接器来运作代码,你要做的只是写出程序并告诉Perl来运转而已。这意味Perl对于小的编程问题的飞跃化解方案和为重型事件创造原型来测试秘密的解决方案是特别出色的。
  • Perl提供脚本语言(如sed和awk)的拥有效用,还有所它们所不享有的广大职能。Perl还扶助sed到Perl及awd到Perl的翻译器。

      简单的讲,Perl象C一样强大,象awk、sed等剧本描述语言一样方便

正文

接触Perl是出于看到perl在文本处理上的勇猛,百度未来察觉网上涉及的着力也是用perl来做文本操作,比如在一个文本中替换特定字符串,

perl -pi -e
‘s/originaltextstring/replacementstring/g’ filename

参数-pi -e的意味不是很明亮,结尾的g表示替换文档中冒出的说有配合,

那句话一贯当做shell语句在终端履行或者写在shell脚本中,

下面通过示范来演示一下,

1.新建一个用于测试的文件,输入一些情节

  vi testperlreplace

2.文件创立完毕看一下本人写了哪些内容:

     cat testperlreplace


     test ni da ye
     nidayede testtest


3.现行交替其中具有的test为hello,

  perl -pi -e ‘s/test/hello/g’
testperlreplace 

4.现行查看文本内容应当早就变了,

     cat testperlreplace


  hello ni da ye
  nidayede hellohello


补充

 

关于perl
前面的-p,-i,-e代表的意思,google后有个老外解答了这一个问题,不知正确性如何:http://www.linuxquestions.org/questions/programming-9/perl-replace-text-in-file-476382/

 

  • -p
    告诉Perl对后边添加的文本名参数举办遍历,大致和sed中的这段代码效果类似

 

  while (<>) {
  … # your program goes here
  } continue {
  print or die “-p destination: $!\n”;
  }

 

我们地点的例证只是一个独自的文本,按着样的话,应该可以跟六个名字,甚至*匹配;

  •  -i 大致是用来读取文件时举行备份操作。
  • -e 告诉Perl前边跟上perl语句

 -p和-i可以合在一起-pi,-p
-e也足以何在一块,不过-i,-e不可以合在一起写-ie,下边的言辞表示在拥有前缀为testperlreplace的文件中替换test字符串为hello

  perl -pi -e ‘s/test/hello/g’ testperlreplace*