perl 语言学习总结
1.#!/usr/bin/perl -w 内建警告信息,Perl发出警告 2.字符串 . 连接符 3.重复次数 "fred" x 3 4.字符串与数字之间的自动转换 5.$变量 赋值 $fred =17; + += *= .= not and or xor 6.print 输出 7.比较字符 数值 == != < > <= >= 字符串 eq ne lt gt le ge 8. if($i < 0){}else{} while(){} 9.chomp 去除字符串尾的一个换行符 10.数组 未初始化的数组值为undef $#i表示最后一个元素的索引值 支持负数索引 最后一个为-1 11.qw 简写,省掉列表中的 , qw(1 2 3 4) 12.@ all of the 数组的全部 @rocks=qw/1 2 3/ @tiny = ( ); @gint = 1..1e5 @ee = ‘qwwewe’ 13.pop和push 操作数组的最后一个元素 pop @array push(@array,8) shift 和unshift 操作第一个元素 14.foreach $rock(@rock){} 15.$_老地方 16.reverse(@fred) sort(@rock) 17,。强制上下文 scalar @rock 18.@lines = <STDIN>; 19.子程序 sub关键字 eg:定义 sub fun{ $n+=1; print "hello"; &n;//最后一次运算结果为返回值 } 调用 &fun; 可以省略&号 print 语句的返回值为1,表示输出成功 函数参数: $n = &max(10,15); sub max{ if($_[0]>$_[1]){ $_[0]; }else{ $_[1]; } } 20.my 定义私有词法变量 @_全局变量 my 不使用括号时,只用来声明单个词法变量 sub max{ my($m,$n); ($m,$n) = @_;//将保存在@_中的参数赋值给具体变量 if($m>$n){$m} else{$n} } if(@_ != 2) 元素个数小于2 ??? 适应任意参数的max程序 sub max{ my($myx_so_far) = shift @_; foreach(@_){ if($_ >$max_so_far){ $max_so_far = $_; } } $max_so_far; } 对于空参数返回undef 所有新变量一开始都是空的,标量被设为undef,数组被设为空列表 21.use strict 编译命令 让Perl更严格一些 要求一定要用my来声明每个新的变量 22. return 子程序立即返回 23. state 静态变量 24.输入输出 while(defined($line=<STDIN>)){ print "I saw $line"; } <>钻石操作 从用户指定的位置读取。 while(<>){ chomp; print "$_"; } 25.@ARGV 命令行参数 26.copy("a","b") 将a拷贝成b 27.truncate (filename, length); 将文件的长度减少到length字节。如果文件长度已经小于length,则不做任何事 28.seek (file,dis,relative_to) 文件中移动 relative(0 开头,1 当前,2末尾) 29.print 文件写入字符串 30.unlink (filelist) 删除文件 31.open 1:读:open(文件句柄,"<文件名")/open(文件句柄,"文件名"),前提文件必须已经存在,否则会返回0,出错信息在$!中。 2:写:open(文件句柄,">文件名"),文件如果不存在,那么创建之,如果存在,内容被清空,长度截为0,$!中有出错信息。 3:追加:open(文件句柄,">>文件名"),基本同写,但有一点,文件中的内容不会被清空,新的内容会追加到原文后面。 4:读写:open(文件句柄,"+<文件名"),通过“+<”模式,你可以既可以读文件,又可以写文件。你可以通过tell() 函数在文件内部移动,通过seek()函数进行定位。如果文件不存在,就会被创建。如果文件已经存在,原来的数据不会被清除。 open(文件句柄,"+>文件名"),通过“+》”模式,可以同时读写文件,但与上面不同的是,它是破怀性写,会清除原来的内容。 例子: my $conf = "D:/test.txt"; if(-e $conf) #判断文件是否存在 { open(FILE, "<$conf") or die("No such file"); while($LINE = <FILE>) #读取文件 { print $LINE; push(@del,$LINE); } close(FILE);
posted on 2015-11-23 13:35 zyz913614263 阅读(230) 评论(0) 编辑 收藏 举报