源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

perl 简明教程 perl教程集合

  • 时间:2021-04-15 23:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:perl 简明教程 perl教程集合
参考:[url=http://shouce.jb51.net/perl5/]http://shouce.jb51.net/perl5/[/url] 网站环境配置:[url=http://www.1sucai.cn/article/74005.htm]http://www.1sucai.cn/article/74005.htm[/url] Perl的基本语法 [url=http://www.1sucai.cn/shouce/Perl.htm]http://www.1sucai.cn/shouce/Perl.htm[/url] 前言:perl是什么,干什么用的?perl原来设计者的意图是用来处理 字符的,80%的强项是处理字符,当然其它的很多都可以。现在很多网页也是用perl的,通常需要CGI环境,比如 $char =~ /语言/ ,意思是查找含有“语言”这两个字的字符串。它还能做unix和linux系统管理,文件内容处理(基于awk和sed等工具的功能),其他好多你想做的事。 [b]一、perl环境配置[/b] 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 - <perl-5.004.tar.gz       (2)编译:       $make makefile       (3)放置:       将编译生成的可执行文件拷贝到可执行文件通常所在目录,如:       $copy <compiled excutable file> /usr/local/bin/perl 3.运行   用文本编辑器编辑好你的Perl程序,加上可执行属性:$chmod +x <program>就可以执行了:$./<program>。如果系统提示:"/usr/local/bin/perl not found",则说明你没有安装成功,请重新安装。 注:你的程序的第一行必须为#!/usr/local/bin/perl(perl所在位置)。 4注释:       注释的方法为在语句的开头用字符#,如:       # this line is a comment       注:建议经常使用注释使你的程序易读,这是好的编程习惯。 [b]二、常量、变量等问题[/b] 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),空列表:() [b]三、文件操作[/b] 1.打开文件:如open (MYFILE, "file1") || die ("Could not open file");MYFILE为声明的文件句柄,file1为文件名/文件路径,整行代码意为:如果打开失败,则输出"Could not open file";    关闭文件:当文件操作完毕后,用close(MYFILE); 关闭文件。 2.读文件   语句$line = <MYFILE>;从文件中读取一行数据存储到简单变量$line中并把文件指针向后移动一行。<STDIN>为标准输入文件,通常为键盘输入,不需要打开。   语句@array = <MYFILE>;把文件的全部内容读入数组@array,文件的每一行(含回车符)为@array的一个元素。
#!/usr/bin/perl
open(MYFILE,'1.txt');
@arr = <MYFILE>;
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");     } 文件测试操作符
[i]操作符[/i] [i]描述[/i]
-b 是否为块设备
-c 是否为字符设备
-d 是否为目录
-e 是否存在
-f 是否为普通文件
-g 是否设置了setgid位
-k 是否设置了sticky位
-l 是否为符号链接
-o 是否拥有该文件
-p 是否为管道
-r 是否可读
-s 是否非空
-t 是否表示终端
-u 是否设置了setuid位
-w 是否可写
-x 是否可执行
-z 是否为空文件
-A 距上次访问多长时间
-B 是否为二进制文件
-C 距上次访问文件的inode多长时间
-M 距上次修改多长时间
-O 是否只为“真正的用户”所拥有
-R 是否只有“真正的用户”可读
-S 是否为socket
-T 是否为文本文件
-W 是否只有"真正的用户"可写
-X 是否只有"真正的用户"可执行
注:“真正的用户”指登录时指定的userid,与当前进程用户ID相对,命令suid可以改变有效用户ID。
 例:     unless (open(INFILE, "infile")) {     die ("Input file infile cannot be opened.\n");     }     if (-e "outfile") {     die ("Output file outfile already exists.\n");     }     unless (open(OUTFILE, ">outfile")) {     die ("Output file outfile cannot be opened.\n");     }   等价于     open(INFILE, "infile") && !(-e "outfile") &&     open(OUTFILE, ">outfile") || die("Cannot open files\n"); [b]四、模式匹配:[/b] 1.概念:模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即模式def。其用法如结合函数split将字符串用某模式分成多个单词:@array = split(/ /, $line); 2.匹配操作符 =~、!~    =~检验匹配是否成功:$result = $var =~ /abc/;若在该字符串中找到了该模式,则返回非零值,即true,不匹配则返回0,即false。!~则相反。 [b]五、控制结构[/b] (1)、条件判断:if()elseif()else(); (2)、循环:   1、while循环   2、until循环   3、for循环   4、针对列表(数组)每个元素的foreach循环
open(MYFILE,'1.txt');
@arr = <MYFILE>;
foreach $str (@arr){
 print $str;
}
  5、do循环   6、循环控制:退出循环为last,与C中的break作用相同;执行下一个循环为next,与C中的continue作用相同;PERL特有的一个命令是redo,其含义是重复此次循环,即循环变量不变,回到循环起始点,但要注意,redo命令在do循环中不起作用。   7、传统的goto语句:goto label; (3)、单行条件   语法为statement keyword condexpr。其中keyword可为if、unless、while或until,如:     print ("This is zero.\n") if ($var == 0);     print ("This is zero.\n") unless ($var != 0);     print ("Not zero yet.\n") while ($var-- > 0);     print ("Not zero yet.\n") until ($var-- == 0);     虽然条件判断写在后面,但却是先执行的。 [b]六、子程序 [/b](1)、定义   子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读。PERL中,子程序可以出现在程序的任何地方。定义方法为:   sub subroutine{     statements;   } (2)、调用   调用方法如下:用&调用        &subname;        ...        sub subname{           ...        } [b]七、文件系统[/b]:与unix紧密相关,参考:[url=http://shouce.jb51.net/perl5/perl11.htm]http://shouce.jb51.net/perl5/perl11.htm[/url] OTHER: 管道:可以将前一执行的结果作为后面的参数,比如 env | grep EDITOR 就可以删选出环境变量中EDITOR的值
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部