您好,登錄后才能下訂單哦!
perl主要有三種數(shù)據(jù)類(lèi)型,一個(gè)是$保存的變量,一個(gè)是@保存的數(shù)組,一個(gè)是%保存的哈希數(shù)組。
perl中的變量$
$保存的變量在PERL中是不區(qū)分任何類(lèi)型的,也就是說(shuō)沒(méi)有數(shù)據(jù)類(lèi)型的概念。perl會(huì)根據(jù)上下語(yǔ)境自動(dòng)識(shí)別。例如 my $value = 10;perl會(huì)當(dāng)做變量來(lái)識(shí)別。perl中連接兩個(gè)字符串變量使用的是.號(hào)。例如
my $first = "i love"; my $second = "study"; my $value = $first.$second;就將兩個(gè)字符串連接到一起了。
perl中數(shù)字比較大小使用 > < =等,字符串比較大小是 eq gt等。
對(duì)字符串的的替換使用的命令是 s///; 例如 my $test = " it "; $test = ~ s/^\s+//;$test =~ s/\s+$//;去掉首尾的空格,這對(duì)于文件路徑很重要,去掉開(kāi)頭與結(jié)尾的空格。符號(hào)^表示是字符串的開(kāi)頭,符號(hào)$表示是符號(hào)的結(jié)尾。.匹配任何字符,*表示是0到多個(gè),+表示一個(gè)到多個(gè),?表示0到1一個(gè)。
split命令
使用split命令可以將一個(gè)字符串分解成一個(gè)數(shù)組。使用方式為 split /swparator/,$value;例如
my $test = "it ,is ,goood"; my @array = split/,/$testl;得到的結(jié)果數(shù)組中就是it is goood.
join命令
join命令與split的命令相反,是把數(shù)組中的每一個(gè)變量粘合在一起。用法 join $value,@array.上例子中,使用join例如 my $value = join ,@array. 最后$value 為"it,is,gooood";
m//;
將變量按照一定的模式進(jìn)行匹配m//之間可以是正則表達(dá)式也可以是一定變量,例如:my $test = "how are you"; if($test =~ m/test/) 看字符串是否包含test。
$_
代表目前perl處理的變量,chomp($value);可以去掉輸入的變量后面的回車(chē)符號(hào)。
\
這個(gè)字符代表獲得元字符,是獲得元字符的意思。例如想在正則表達(dá)式中匹配點(diǎn)號(hào).使用\.就可以防止perl程序進(jìn)行轉(zhuǎn)意。
index命令
在一個(gè)字符串中查找一個(gè)子串第一次出現(xiàn)的位置, my $test = "you are good"; my $place = index($test,"are");就是查找字符串a(chǎn)re第一次出現(xiàn)的位置,rindex是查找指定字符串最后一次出現(xiàn)的位置。
substr命令
取一個(gè)字符串的子串,例如 my $test = "you are good"; my $newstr = substr($test,0,3); $newstr就為you.
die命令
die可以使perl遇到錯(cuò)誤時(shí)跳出程序。
perl中的數(shù)組@
perl中像數(shù)組中插入元素為 push @test,$value;彈出元素是 my $test = pop @test;在最前面取和存分別是my $test = shift @test; unshift @test,$value;判斷數(shù)據(jù)大小為 my $size = @array;取得數(shù)組的大小。
if(@array ~~$value)數(shù)組中是否包含這個(gè)元素。清空數(shù)組中的元素為undef(@array);
多維數(shù)組插入方式為push @AllSheetContent,[@AllRowDate];獲取方式為$AllSheetContent[0]獲得的是第一維數(shù)組。若是 push @AllSheetContent,$value1; push @AllSheetContent,$value2;
$AllSheetContent[0]取得的是$value1;
perl中的哈希%
哈系聲明,my %hashtable; 哈系賦值 $hashtable{$key} = $value;注意哈系是大括號(hào),數(shù)組取值是中括號(hào)。獲得哈系的所有key值為 my @key = keys %hashtable;獲得哈系的所有values值為
my @value = values %hashtable; 獲取哈系數(shù)目的大小 my $count = keys %hashtable;
判斷哈系是否包含某個(gè)key值為 if(exists $hashtable($value)) 刪除哈系中的一個(gè)鍵值對(duì)為
delete $hashtable{$value}
perl中的文件操作
文件句柄
open openhandle "<filename";
open openhandle ">filename";
open openhandle ">>filename";
這三種打開(kāi)文件的方式分別為:第一種是打開(kāi)文件進(jìn)行讀取操作。第二種是以寫(xiě)的方式打開(kāi)文件,如果之前存在相同名字的文件則刪除掉。第三種是以追加寫(xiě)的方式打開(kāi)文件,如果之前存在則在文件后面進(jìn)行追加寫(xiě)。最后要記得關(guān)閉文件句柄。close(openhandle);
文件類(lèi)型的判斷使用 if(-e $filename)判斷文件是否存在,使用if(-d $filename)判斷文件是否是一個(gè)目錄,使用if(-f $filename)判斷文件是否是一個(gè)文件。
基本上就這些,有點(diǎn)雜亂,后續(xù)有知道的在補(bǔ)充。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。