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 "<filename";
open openhandle ">filename";
open openhandle ">>filename";
这三种打开文件的方式分别为:第一种是打开文件进行读取操作。第二种是以写的方式打开文件,如果之前存在相同名字的文件则删除掉。第三种是以追加写的方式打开文件,如果之前存在则在文件后面进行追加写。最后要记得关闭文件句柄。close(openhandle);
文件类型的判断使用 if(-e $filename)判断文件是否存在,使用if(-d $filename)判断文件是否是一个目录,使用if(-f $filename)判断文件是否是一个文件。
基本上就这些,有点杂乱,后续有知道的在补充。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。