溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

perl編程總結(jié)

發(fā)布時(shí)間:2020-06-08 14:29:33 來(lái)源:網(wǎng)絡(luò) 閱讀:797 作者:584851044 欄目:軟件技術(shù)

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ǔ)充。




向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI