热门IT资讯网

perl编程总结

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,perl主要有三种数据类型,一个是$保存的变量,一个是@保存的数组,一个是%保存的哈希数组。perl中的变量$$保存的变量在PERL中是不区分任何类型的,也就是说没有数据类型的概念。perl会根据上下

perl主要有三种数据类型,一个是$保存的变量,一个是@保存的数组,一个是%保存的哈希数组。


perl中的变量$

$保存的变量在PERL中是不区分任何类型的,也就是说没有数据类型的概念。perl会根据上下语境自动识别。例如 my $value = 10;perl会当做变量来识别。perl中连接两个字符串变量使用的是.号。例如

my $first = "i love"; my $second = "study"; my $value = $first.$second;就将两个字符串连接到一起了。

perl中数字比较大小使用 > < =等,字符串比较大小是 eq gt等。

对字符串的的替换使用的命令是 s///; 例如 my $test = " it "; $test = ~ s/^\s+//;$test =~ s/\s+$//;去掉首尾的空格,这对于文件路径很重要,去掉开头与结尾的空格。符号^表示是字符串的开头,符号$表示是符号的结尾。.匹配任何字符,*表示是0到多个,+表示一个到多个,?表示0到1一个。


split命令

使用split命令可以将一个字符串分解成一个数组。使用方式为 split /swparator/,$value;例如

my $test = "it ,is ,goood"; my @array = split/,/$testl;得到的结果数组中就是it is goood.


join命令

join命令与split的命令相反,是把数组中的每一个变量粘合在一起。用法 join $value,@array.上例子中,使用join例如 my $value = join ,@array. 最后$value 为"it,is,gooood";


m//;

将变量按照一定的模式进行匹配m//之间可以是正则表达式也可以是一定变量,例如:my $test = "how are you"; if($test =~ m/test/) 看字符串是否包含test。


$_

代表目前perl处理的变量,chomp($value);可以去掉输入的变量后面的回车符号。


\

这个字符代表获得元字符,是获得元字符的意思。例如想在正则表达式中匹配点号.使用\.就可以防止perl程序进行转意。


index命令

在一个字符串中查找一个子串第一次出现的位置, my $test = "you are good"; my $place = index($test,"are");就是查找字符串are第一次出现的位置,rindex是查找指定字符串最后一次出现的位置。


substr命令

取一个字符串的子串,例如 my $test = "you are good"; my $newstr = substr($test,0,3); $newstr就为you.


die命令

die可以使perl遇到错误时跳出程序。


perl中的数组@


perl中像数组中插入元素为 push @test,$value;弹出元素是 my $test = pop @test;在最前面取和存分别是my $test = shift @test; unshift @test,$value;判断数据大小为 my $size = @array;取得数组的大小。

if(@array ~~$value)数组中是否包含这个元素。清空数组中的元素为undef(@array);

多维数组插入方式为push @AllSheetContent,[@AllRowDate];获取方式为$AllSheetContent[0]获得的是第一维数组。若是 push @AllSheetContent,$value1; push @AllSheetContent,$value2;

$AllSheetContent[0]取得的是$value1;



perl中的哈希%

哈系声明,my %hashtable; 哈系赋值 $hashtable{$key} = $value;注意哈系是大括号,数组取值是中括号。获得哈系的所有key值为 my @key = keys %hashtable;获得哈系的所有values值为

my @value = values %hashtable; 获取哈系数目的大小 my $count = keys %hashtable;

判断哈系是否包含某个key值为 if(exists $hashtable($value)) 删除哈系中的一个键值对为

delete $hashtable{$value}


perl中的文件操作


文件句柄

open openhandle "

open openhandle ">filename";

open openhandle ">>filename";

这三种打开文件的方式分别为:第一种是打开文件进行读取操作。第二种是以写的方式打开文件,如果之前存在相同名字的文件则删除掉。第三种是以追加写的方式打开文件,如果之前存在则在文件后面进行追加写。最后要记得关闭文件句柄。close(openhandle);

文件类型的判断使用 if(-e $filename)判断文件是否存在,使用if(-d $filename)判断文件是否是一个目录,使用if(-f $filename)判断文件是否是一个文件。


基本上就这些,有点杂乱,后续有知道的在补充。




0