您现在的位置是:网站首页> 编程资料编程资料

perl 简明教程 perl教程集合_perl_

2023-05-26 400人已围观

简介 perl 简明教程 perl教程集合_perl_

参考:http://shouce.jb51.net/perl5/
网站环境配置:https://www.jb51.net/article/74005.htm

Perl的基本语法 https://www.jb51.net/shouce/Perl.htm

前言:perl是什么,干什么用的?perl原来设计者的意图是用来处理 字符的,80%的强项是处理字符,当然其它的很多都可以。现在很多网页也是用perl的,通常需要CGI环境,比如 $char =~ /语言/ ,意思是查找含有“语言”这两个字的字符串。它还能做unix和linux系统管理,文件内容处理(基于awk和sed等工具的功能),其他好多你想做的事。

一、perl环境配置

1.获取perl
  Perl通常位于/usr/local/bin/perl或/usr/bin/perl中。你可以在Internet用匿名FTP免费得到它,如ftp://prep.ai.mit.edu/pub/gnu/perl-5.004.tar.gz

2.安装过程为:
      (1)解压:
      $gunzip perl-5.004.tar.gz
      $tar xvf -       (2)编译:
      $make makefile
      (3)放置:
      将编译生成的可执行文件拷贝到可执行文件通常所在目录,如:
      $copy /usr/local/bin/perl

3.运行
  用文本编辑器编辑好你的Perl程序,加上可执行属性:$chmod +x 就可以执行了:$./。如果系统提示:"/usr/local/bin/perl not found",则说明你没有安装成功,请重新安装。
注:你的程序的第一行必须为#!/usr/local/bin/perl(perl所在位置)。

4注释:
      注释的方法为在语句的开头用字符#,如:
      # this line is a comment
      注:建议经常使用注释使你的程序易读,这是好的编程习惯。

二、常量、变量等问题

1.单引号与双引号
  双引号内的字符串中支持简单变量替换  如:$text = "This text contains the number $number.";
  双引号内的字符串中支持转义字符
  单引号字符串与双引号字符串有两个区别,一是没有变量替换功能,二是反斜线不支持转义字符。
2.重复和联结
重复:print "t" x 5  (会输出5个t,注意:其中x为英文字母小写x)
联结:$a.="bc"    (相当于连等于)
3.简单变量、数组、列表
简单变量:用$声明,如:$a="hello";
数组:用@声明,如:@arr=('a','b','c');
列表:列表是包含在括号里的一序列的值,可以为任何数值,也可为空,如:(1, 5.3 , "hello" , 2),空列表:()

三、文件操作

1.打开文件:如open (MYFILE, "file1") || die ("Could not open file");MYFILE为声明的文件句柄,file1为文件名/文件路径,整行代码意为:如果打开失败,则输出"Could not open file";
   关闭文件:当文件操作完毕后,用close(MYFILE); 关闭文件。
2.读文件
  语句$line = ;从文件中读取一行数据存储到简单变量$line中并把文件指针向后移动一行。为标准输入文件,通常为键盘输入,不需要打开。
  语句@array = ;把文件的全部内容读入数组@array,文件的每一行(含回车符)为@array的一个元素。

 #!/usr/bin/perl open(MYFILE,'1.txt'); @arr = ; print @arr;

3.写文件
  形式为:
     open(OUTFILE, ">outfile");
     print OUTFILE ("Here is an output line.\n");
  注:STDOUT、STDERR为标准输出和标准错误文件,通常为屏幕,且不需要打开。
4.判断文件状态

1、文件测试操作符
  语法为:-op expr,如:
    if (-e "/path/file1") {
    print STDERR ("File file1 exists.\n");
    }

文件测试操作符

操作符描述
-b是否为块设备
-c是否为字符设备
-d是否为目录
-e是否存在
-f是否为普通文件
-g是否设置了setgid位
-k是否设置了sticky位
-l是否为符号链接
-o