欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Perl軟件學(xué)習(xí)心得

      時(shí)間:2019-05-12 08:34:16下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《Perl軟件學(xué)習(xí)心得》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《Perl軟件學(xué)習(xí)心得》。

      第一篇:Perl軟件學(xué)習(xí)心得

      Per l 不需要任何特別的文件名字或后綴名,但最好不要使用后綴名

      在 Perl 中,注釋由# 開(kāi)始,如果文本的第一行前兩個(gè)字符是“ #!”,接著的就是執(zhí)行下面文件的程序。#!行和程序的可移植性相關(guān),需要找到每臺(tái)機(jī)器的存放地點(diǎn)。幸運(yùn)的是,通常都被放在/usr/bin/perl或/usr/local/bin/perl中。

      如果不是這樣,則需要找到你自己機(jī)器上perl的存放地點(diǎn),然后使用那個(gè)路徑。

      Perl 中不需要聲明變量

      Perl 內(nèi)部沒(méi)有整數(shù)值。程序中的整數(shù)被當(dāng)做等價(jià)的浮點(diǎn)數(shù)來(lái)處理.八進(jìn)制以 0 開(kāi)頭,十六進(jìn)制以 0x 開(kāi)頭,二進(jìn)制 0b 開(kāi)頭。在十六進(jìn)制中 A 到 F(或者 a 到 f)分別表示 10 到 15.Perl 允許用下劃線來(lái)分隔61298040283768,因此可以像下面這樣書寫:61_298_040_283_768加(+),減(-),乘(*),除(/)模數(shù)運(yùn)算符(%)。10%3 的值是 10 除以 3 的余數(shù)。兩個(gè)操作數(shù)首先變成它們對(duì)應(yīng)的整數(shù)值,如 10.5%3.2 轉(zhuǎn)換為

      10%3◆后再計(jì)算兩個(gè)*號(hào)表示,如 2**3,表示 2 的 3 次方.由小寫的字母 x 表示。這種操作能把操作符左邊字符串重復(fù)操作符右邊數(shù)字那么多次。

      use warnings一直都需要警告(warning),可以在 #!這一行加上-w,如:#!/usr/bin/perl – w 當(dāng)程序中包含可能的錯(cuò)誤時(shí),可以要求 Perl 警告你

      把 use diagnostics 加入程序后通過(guò)它可以看到更詳細(xì)的警告信息

      標(biāo)量變量的名字由一個(gè)美圓符號(hào)($)后接 Perl 標(biāo)識(shí)符:由字母或下劃線開(kāi)頭,后接字母,數(shù)字,或者下劃線?;蛘哒f(shuō)由字母,數(shù)字和下劃線組成,但不能由數(shù)字開(kāi)頭。大小寫是嚴(yán)格區(qū)分的。

      每一個(gè)二元操作符都有一個(gè)等價(jià)的二元賦值形式:由這個(gè)符號(hào)后接等號(hào)組成。例如,下面兩行是等價(jià)的:

      $fred = $fred + 5;# 沒(méi)有用二元賦值操作符 $fred+=5;#利用二元賦值操作符 下面的也是等價(jià)的: $barney = $barney*3;$barney*=3;上述兩例中,變量借助自身而非別的變量來(lái)改變自身的值。另一個(gè)常用的賦值操作符是字符串連接符號(hào)(.);其賦值形式為(.=): $str = str.“”;#$str后接空格 $str.=“”’;#同上

      $mean = “ brontosaurus steak”;

      $barney = “fred ate a $meal ”;#$barney 現(xiàn)在是“fred ate a brontosaurus steak” $barney = ‘fred ate a’.$meal;#同上

      如果一個(gè)變量未被賦值,則將使用空值替換$barney = “fred ate a $meat ”;#$barney 現(xiàn)在是“fred ate a ”

      在字符串中變量前($符號(hào)前)加上反斜線(),變量將不會(huì)被內(nèi)插(替換): $fred = ‘ hello’;

      print “ The name is $fred.n”;#打印出美圓符號(hào),變量不會(huì)被其值替換 print ‘ The name is $fred’.“ n”;# 同上

      花括號(hào)({})。用花括號(hào)將變量名括起來(lái)?;蛘邔⒆址指舫蓭讉€(gè)部分,再用連接符(.)串起來(lái):

      $what = “ brontosaurus steak ”;$n = 3;print “fred ate $n $whats.n”;# 不是 steaks,而是$whats的值 print “fred ate $n ${what}s.n”;# 現(xiàn)在是使用變量$what print “fred ate $n $what”.“ s.n”;#另一種方法

      print ‘fred ate ’.$n.‘’.$what.“ s.n ”;#一種復(fù)雜的方法

      35!= 30+5 #false 35 == 35.0 #true ‘35’eq‘ 35.0’ #false(按照字符串比較)‘fred’ lt ‘barney’ #false ‘fred’ lt ‘free’ #true ‘fred’ eq ‘fred’ #true ‘fred’ eq ‘Fred’ #false ‘’gt ‘’ #true

      if($name gt ‘ fred’),print “ ‘ $name’ comes after ‘ fred ’ in sorted order.n”;}else{ print “ ‘ $name’ does not come after ‘ fred’.n”;print “ Maybe it’ s the same string, in fact.n”;}

      作為標(biāo)量值來(lái)使用的,Perl 每次從標(biāo)準(zhǔn)輸入中讀入文本的下一行,將其傳給。標(biāo)準(zhǔn)輸入可以有很多種;默認(rèn)的是鍵盤。中的字符串通常由一個(gè)換行符作為結(jié)尾。

      $text = “ a line of textn”;#也可以由輸入 chomp($text);# 去掉換行符(n)。

      chomp($text = );#讀入,但不含換行符 $text = ;chomp($text);#同上,但用兩步完成 $count = 0;while($count < 10){ $count + = 2;print “ count is now $count n ”;#打印出 2 4 6 8 10 }

      defined 函數(shù),它將在為undef時(shí)返回 false,其余返回 true $madonna = ;I f($defined($madonna)){ print “ The input was $madonna”;} Else { print “ No input available!n”;}

      小寫的字母 x 表示。這種操作能把操作符左邊字符串重復(fù)操作符右邊數(shù)字那么多次: “fred”x 3 # “fredfredfred” 例子2.5將給出換行的事例

      數(shù)組下標(biāo)可以是任何能返回?cái)?shù)值的表達(dá)式。如果其值不為整數(shù),則自動(dòng)將其轉(zhuǎn)換為小于它的最大整數(shù)值:$number = 2.71828;print $fred[$number100]’;#得到‘ bedrock’ , 第 0 個(gè)元素 $rocks[-200] = ‘ crystal’;# 嚴(yán)重錯(cuò)誤(fatal error!)

      數(shù)組是由括號(hào)括起來(lái)并且其元素由逗號(hào)分隔開(kāi)的列表。(1,2,3)# 含有 1,2,3 的列表(1,2,3,)# 同上,最后一個(gè)逗號(hào)被忽略()# 空列表-0 個(gè)元素(1 ..100)# 包含 100 個(gè)整數(shù)的列表(1 ..5)#同(1,2,3,4,5)(1.7 .. 5 .7)#同上—最小值和最大值被轉(zhuǎn)換成整數(shù)(5 ..1)#空列表—..中的左值應(yīng)小于右值,否則為空(0,2 .. 6,10,12)#同(0,2,3,4,5,6,10,12)($m ..$n)# 由$m 和$n 的值決定(0 .. $#rocks)#上節(jié)中有$#rocks 的介紹 用qw表示數(shù)組: qw!fred barney betty wilmadino!qw# fred barney betty wilmadino # #有些像注釋 qw(fred barney betty wilmadino)qw{fred barney betty wilmadino } qw[fred barney betty wilmadino ] qw @rocks 可以讀作“ all of the rocks@rocks = qw / bedrock slate lava /;@tiny =();#空表

      @giant = 1..1e5;#包含 100,000 個(gè)元素的表

      @stuff =(@giant, undef, @giant);#包含 200,001 個(gè)元素的表

      @rocks = qw / bedrock slate lava /;@tiny =();#空表

      @giant = 1..1e5;#包含 100,000 個(gè)元素的表

      @stuff =(@giant, undef, @giant);#包含 200,001 個(gè)元素的表 @copy = @quarry;#將一個(gè)數(shù)組中的值拷貝的另一個(gè)數(shù)組中

      pop 操作將數(shù)組的最后一個(gè)元素取出并返回: @array = 5..9;$fred = pop(@array);#$fred得到 9,@array 現(xiàn)在為(5,6,7,8)$barney = pop @array;#$barney gets 8, @array 現(xiàn)在為(5,6,7)pop @array;#@array 現(xiàn)在為(5,6)(7 被丟棄了)

      pop 相反的操作是 push,它可以將一個(gè)元素(或者一列元素)加在數(shù)組的末尾: push(@array,0);#@array 現(xiàn)在為(5,6,0)push @array,8;#@array 現(xiàn)在為(5,6,0,8)push @array,1 ..10;#@array 現(xiàn)在多了 10 個(gè)元素 @others =qw/9 0 2 1 0 /;push @array,@others;#@array 現(xiàn)在又多了 5 個(gè)元素(共有 19 個(gè))push 的第一個(gè)參數(shù)或者 pop 的唯一參數(shù)必須是數(shù)組變量。

      unshift和

      shift 對(duì)一個(gè)數(shù)組的開(kāi)頭進(jìn)行操作(數(shù)組的左端有最小下標(biāo)的元素)。下面是一些例子: @array = qw# dinofred barney #;$m = shift(@array);#$m 得到“dino” , @array 現(xiàn)在為(“fred” , “ barney”)$n = shift @array;#$n 得到”fred” , @array 現(xiàn)在為(“ barney”)shift @array;#@array 現(xiàn)在為空

      $o = s hift @array;#$o 得到undef, @arry仍為空 unshift(@array,5);#@array 現(xiàn)在為(5)unshift @array,4;#@array 現(xiàn)在為(4,5)@others = 1..3;unshift @array, @others;#array 現(xiàn)在為(1,2,3,4,5)

      @rocks = qw{flintstone slate rubble };print “ quartz @rocks limestone n ”;# 輸出為 5 種 rocks 由空格分開(kāi)

      $email = “ fred@bedrock.edu”;#錯(cuò)誤!將會(huì)替換@bedrock $email = “ fred@bedrock.edu”;#正確

      $email = ‘ fred@bedrock.edu’;# 另一種方法

      只有一個(gè)元素的數(shù)組的被其值替換的行為和你預(yù)期的類似: @fred = qw(hello dolly);$y = 2;$x = “ This is $fred*1+’ s place”;# “ This is dolly’ s place” $x = “ This is $fred[$y-1]’ s place”;# 同上

      @fred = qw(eating rocks is wrong);$fred = “ right ”;#我們將打印“ this is right[3] ”

      print “ this is $fred[3] n ”;#打印出“ wrong”使用 $fred[3] print “ this is ${fred}[3] n ”;# 打印出“ right”(由花括號(hào)分開(kāi))print “ this is $fred”.“ [3] n”;#正確(兩個(gè)字符串,右.分開(kāi))print “ this is $fred [3] n”;# 正確(利用反斜線轉(zhuǎn)義)

      foreach從列表的第一個(gè)元素一直循環(huán)執(zhí)行到最后一個(gè)元素,一次迭代一個(gè):

      foreach $rock(qw/ bedrock slate lava /){print “ One rock is $rock.n”;#打印出 3 種 rocks

      reverse(逆轉(zhuǎn))操作將輸入的一串列表(可能是數(shù)組)按相反的順序返回 @fred = 6 ..10;@barney = reverse(@fred);# 得到 10,9,8,7,6 @wilma = reverse 6 .. 10;#同上,沒(méi)有使用額外的數(shù)組 @fred = reverse @fred;#將逆轉(zhuǎn)過(guò)的字符串存回去

      sort 操作將輸入的一串列表(可能是數(shù)組)根據(jù)內(nèi)部的字符順序進(jìn)行排序 @rocks = qw/ bedrock slate rubble granite /;@sorted = sort(@rocks);#得到 bedrock, granite, rubble, slate @back = reverse sort @rocks;#為 slate 到 bedrock @rocks = sort @rocks;#將排序的值寫回@rocks @numbers = sort 97 .. 102;# 得到 100,101,102,97,98,99

      標(biāo)量和列表上下文

      + something #something 必須是標(biāo)量 sort something #something 必須是列表

      如果 something 是相同的字符串,在一種情況下,它返回一個(gè)變量值,在另一種情況下,它可能返回列表◆。Perl 中的表達(dá)式將根據(jù)其 context 返回適當(dāng)?shù)闹怠?/p>

      在列表 context 中,它返回反轉(zhuǎn)的列表。在標(biāo)量 context 中,返回反轉(zhuǎn)的字符串(或者將反轉(zhuǎn)的結(jié)果串成一個(gè)字符串):

      @backwards = reverse qw / yabbadabba doo /;# 返回 doo, dabba, yabba $backwards = reverse qw/ yabbadabba doo /;# 返回oodabbadabbay

      函數(shù) scalar它不是一個(gè)真實(shí)的函數(shù)因?yàn)槠鋬H是告訴 Perl 提供一個(gè)標(biāo)量 context: @rocks = qw(talc quartz jade obsidian);print “ How many rocks do you have?n”;

      print “ I have ” , @rocks, “rocks!n”;# 錯(cuò)誤,輸出 rocks 的名字 print “ I have ” , scalar @rocks, “ rocks!n ”;#正確,輸出其數(shù)字

      在標(biāo)量 context 中返回輸入的下一行。

      @lines = ;#將輸入讀入列表 context 中,輸入來(lái)源于一個(gè)文件時(shí),它將讀入文件的剩余部分。Unix 或者類似的系統(tǒng)中,包括linux, Mac OS X,通??梢暂斎?CTRL +D◆來(lái)表明輸入已經(jīng)結(jié)束。在 DOS/WINDOWS 系統(tǒng)中,使用 CTRL +Z◆。

      所有的 Perl 子程序都會(huì)返回值,在 Perl 中返回值和不返回值是沒(méi)有區(qū)別的。當(dāng) Perl 遍歷此子程序時(shí),將會(huì)計(jì)算每一步的值。此子程序中最后計(jì)算的值將被返回。最后一個(gè)被計(jì)算的表達(dá)式是 print 語(yǔ)句。其返回值通常為 1。用my創(chuàng)建私有變量。使用 my 創(chuàng)建新的,私有數(shù)組:my @phone_number。sub max { my($m,$n);#新的,私有變量($m,$n)= @_;#賦值 if($m > $n){$m} else{$n} } my($m,$n)= @_;

      hash看作一堆數(shù)據(jù)(a barrel of data),每一個(gè)數(shù)據(jù)都有一個(gè)相應(yīng)的標(biāo)簽。可以通過(guò)標(biāo)簽(key)訪問(wèn)此標(biāo)簽對(duì)應(yīng)的元素(value)$hash{$some_key} $family_name, “ fred”= “ rubble”;

      $family_name{“fred” } = “astaire”;# 將新值賦給已經(jīng)存在的元素

      $family_name{ “wilma” } = “flintstone”;#新增一個(gè) key(也包括 value)$family_name{ “ betty” }.= $family_name{“ barney ” };#創(chuàng)建一個(gè)新元素 $grantie = $family_name{“l(fā)arry” };#沒(méi)有l(wèi)arry:得到undef %some_hash =(“foo”, 35, “bar”, 12.4, 2.5, “hello”, “wilma”, 1.72e30, “betty”, “bye n”);@array_array = %some_hash;%new_hash = %old_hash;將%old_hash展開(kāi)成 key/value 的列表,再將其賦給%new_hash,其將 key/value 對(duì)一個(gè)一個(gè)加入的。%inverse_hash = reverse %any_hash;

      my %last_name =(“fred” => “flintstone”, “dino” =>undef,“barney”=> “rubble”;“betty”=> “rubble”,);上面代碼中,很容易辨別出哪一個(gè)是 key,哪一個(gè)是 value。注意列表中最后一個(gè)逗號(hào)

      my %hash =(“a” =>1, “ b”=>2, “ c ”=>3);my @k = keys %hash;my @v = values %hash;

      my $count = keys %hash;#得到 3,是指有 3 個(gè) key/value 對(duì)。

      each 函數(shù),它將返回 key/value 對(duì)的2元素列表。一般只在 while 循環(huán)中使用 each: while(($key, $value)= each %hash){ print “ $key => $valuen”;

      }while 循環(huán)的條件表達(dá)式,這是在標(biāo)量 context 中。列表賦值語(yǔ)句在標(biāo)量 context 中返回的是元素的個(gè)數(shù),在本例中,是2。

      each 返回的 key/vlaue對(duì),順序是混亂的(它其順序和 keys 和 values 函數(shù)返回的順序相同)。如果想將其按序排放,可以對(duì)它們排序(使用 sort),大致如下: foreach $key(sort keys %hash){ $value =$hass{$key};print “ $key => $valuen”;

      #也可以不使用額外的臨時(shí)變量$value #print “ $key => $hash,key-n”;}

      exists 函數(shù),如果 hash 中存在此 key,則返回 true,這和 是否有對(duì)應(yīng)的 value 無(wú)關(guān): if(exists $books{$dino}){ print “ Hey, there’ s a libaray card for dino!n ”;}

      delete 函數(shù)將某個(gè)給定的 key(包括其對(duì)應(yīng)的 value)從 hash 中刪除。(如果不存在這個(gè) key,則什么也不做;不會(huì)有警告或者錯(cuò)誤信息。)my $person = “ betty”;

      delete $books{$person};#將$person 的借書卡刪除掉

      在雙引號(hào)的字符串中使用單個(gè) hash 元素: foreach $person(sort keys %books){ if($books{$person}){ print “ $person has $books{$person} items n ” #fred有3個(gè) } }

      正則表達(dá)式,在 Perl 中通常被稱為模式(pattern):某個(gè)模板是否匹配某個(gè)字符串.某個(gè)給定的模式將這些字符串分成兩類:一類是能匹配的,一類是不能匹配的。

      要匹配某個(gè)模式(正則表達(dá)式)和$_的關(guān)系,可以將模式放在正斜線(//)之間,如下: $_ = “ yabbadabba doo”;if(/abba/){ print “ It matched!n”;

      }模式匹配通常返回 true 或 false,因此經(jīng)常用在 if 或 while 的條件表達(dá)式部分

      引入特殊字符的原因,它們被叫做元字符(metacharacters),在正則表達(dá)式中具有特殊的含義。點(diǎn)(.)是通配符,它可以匹配任何單個(gè)的字符,但不包括換行符(“ n ”)。因此,模式/bet.y/將匹配 betty。同時(shí)也匹配betsy ,bet=y , bet.y,或者說(shuō)任意字符串后接 bet, 然后是任意的單個(gè)字符(不包括換行符),后接 y。如果只希望點(diǎn)(.)匹配句號(hào),可以使用反斜線。這條規(guī)則對(duì) Perl 正則表達(dá)式中所有元字符均有效:元字符前使用反斜線將使它變成普通的字符。反斜線是第二個(gè)元字符。如果需要真正的反斜線,需要重復(fù)使用兩個(gè)反斜線。

      星號(hào)(*)表示匹配前一項(xiàng)0次或者多次。.* 將匹配任意多個(gè)任意字符(不含換行符)的字符串。加(+)的意思是可以匹配前面一項(xiàng)的一個(gè)或多個(gè)。問(wèn)號(hào)(?),其含義是前面一個(gè)項(xiàng)出現(xiàn)一次,或者不出現(xiàn)。括號(hào)(())用來(lái)表示分組。例如,模式/fred+/ 能匹配上如fredddddddd,這樣的字符串,但這種字符串在實(shí)際中沒(méi)有什么用途。模式/(fred)+/能匹配上像fredfredfred這樣的字符串。

      豎線(|),在這種用法中通常被讀作“或(or)”,意思是匹配左邊的或者右邊的。

      字符類,是方括號(hào)[]中的一列字符,可以匹配上括號(hào)內(nèi)出現(xiàn)的任意單個(gè)字符。它匹配一個(gè)字符,但這個(gè)字符可以是列中的任意一個(gè)。字符類前使用符號(hào)^將取此字符類的補(bǔ)集。也就是說(shuō),[ ^def ]]將匹配上這三個(gè)字符中之外的任意單個(gè)字符。[^n-z]將匹配上 n,-, z 之外的任何字符。

      任何數(shù)字的類,[0-9],可以被簡(jiǎn)寫為:d。w 被稱作“ word’字符:[A-Za-z0-9_]。

      s 對(duì)于匹配空白(whitespace)將非常方便。它等價(jià)于[ f tnr ],其含 5 個(gè)空白字符:格式符(form-feed);制表符(tab),換行符,回車,以及空格符。使用[^ d] , [^ w], 和[^ s],其含義分別是,非數(shù)字的字符,非 word(記住我們對(duì) word 的定義)的字符,和非空白的字符。也可以使用它們對(duì)應(yīng)的大寫形式:D, W, S 來(lái)完成。[ dD],它的意思是任何數(shù)字,和任何非數(shù)字,則意指任何字符。

      不區(qū)分大小寫:/I匹配 FRED 時(shí),也能匹配上fred, Fred,可以使用修飾符 /i: print “ Would you like to play a game? ”;chomp($_ = );if(/yes/i){#大小寫無(wú)關(guān)

      print “ In that case, I recommend that you go bowling.n”;}

      匹配任何字符:/s

      b,是針對(duì)單詞使用的。如/bfred b/可以匹配上單詞fred,但不能匹配frederick

      符號(hào)^(脫字字符◆)表示在字符串的開(kāi)頭進(jìn)行匹配,而符號(hào)$則表示在結(jié)尾◆

      只想要一個(gè)詞界錨定,當(dāng)使用 / bhunt/ 將匹配上像 hunt , hunting , hunter,這樣的單詞,但不會(huì)匹配 shunt,而/stoneb/ 將匹配 sandstone, flintstone,而不能匹配上 capstones。非詞界錨定為B。它將在任何非b 匹配的點(diǎn)上進(jìn)行匹配。因此,模式/bsearchB/將匹配 searches , searching, searched , 但不能匹配 search,或者 researching。

      匹配上的那部分字符串將自動(dòng)存儲(chǔ)在$&之中。$`中含有正則表達(dá)式引擎在匹配成功前所找到的變量,而$'為此模式還沒(méi)有匹配的剩余部分。

      花括號(hào)({}),花括號(hào)中有 2 個(gè)數(shù)字,由逗號(hào)隔開(kāi),表示前面一項(xiàng)允許重復(fù)的次數(shù)。模式/a{5,15}/將匹配 5 個(gè)到 15 個(gè) a 中的任意一個(gè)(包括 5,和 15)。星號(hào)(*)等同于{0,},表示 0 個(gè)或多個(gè)。加號(hào)(+)等同于{1,},表示 1 個(gè)或多個(gè)。而問(wèn)號(hào)(?)則等同于{0,1}。

      1.在此優(yōu)先級(jí)表的最頂端是括號(hào):(()),在分組和引用內(nèi)存值的時(shí)候使用。括號(hào)內(nèi)部的任何部分比括號(hào)外的部分結(jié)合更緊 密。

      2.第二級(jí)是數(shù)量詞。這里有星號(hào)(*), 加號(hào)(+),問(wèn)號(hào)(?)以及由花括號(hào)表示的數(shù)量詞,如{5,15}, {3, }, {5}等。它們通常 和前一項(xiàng)元素結(jié)合。3.第三級(jí)的是錨定和序列(sequence)。錨定包括(^)表明字符串的開(kāi)頭,($)表明結(jié)尾,(b)詞界符,(B)非詞界符。序列(一

      個(gè)元素緊接著一個(gè)元素)實(shí)際上是一種操作,雖然它沒(méi)有使用元字符。這段話的含義是一個(gè)單詞中的字母結(jié)合更緊密,就 像錨定緊貼字母一樣。

      4.優(yōu)先級(jí)最低的是豎線(|),表示或。由于其優(yōu)先級(jí)最低,它通常將模式劃分成幾個(gè)部分。它在優(yōu)先級(jí)最底端是因?yàn)槲覀兿?/p>

      望像|/fred|barney/ 里面的字母比或(|)結(jié)合更緊密。如果或(|)的優(yōu)先級(jí)比序列的優(yōu)先級(jí)更高, 那么,上述模式的含義是匹配fre, 接著是 d 或者 b , 然后是arney。因此,或(|)的優(yōu)先級(jí)最低,字母序列的優(yōu)先級(jí)要高些。s ///操作的則類似于“查詢并替換(search and replace)”。它將替換變量中◆模式所匹配上的部分:$_ = “ He’ s out bowling with Barney tonight.”;s/Barney/Fred/;#Barney 被 Fred 替換掉 print “ $_n”;

      如果沒(méi)有匹配上,則什么也不會(huì)發(fā)生,此變量也不會(huì)有任何更改:s/// 會(huì)返回一個(gè) Boolean 值。如果成功替換則返回 true ;否則返回 false。

      修飾符/g 要求 s/// 將不相重疊◆的所有匹配上的部分都進(jìn)行替換: $_ = “home, sweet home!”;s/home/cave/g;print “ $_n”;# “ cave, sweet cave!”;

      全局替換的一個(gè)常用地方是將多個(gè)空格用單個(gè)空格替換掉:

      $_ = “ Input data t may hav e extra whitespace.”;s/s+/ /g;#現(xiàn)在是“ Input data may have extra whitespace.”

      s/^s+//;#將開(kāi)頭的空白去掉 s/s+$//;#將結(jié)尾的空白去掉

      除了/g 修飾符外◆,替換操作中還可以使用/i , /x, 和 /s,這些在普通的模式匹配中已經(jīng)出現(xiàn)過(guò)的修飾符。

      U 要求緊接著的均是大寫: $_ = “ I saw Barney with Fred.”;

      s/(fred|barney)/U$1/gi;#$_ 現(xiàn)在是“ I saw BARNEY with FRED.”

      要求后面的均為小寫:L:

      s/(fred)|barney/L$1/gi;#$_現(xiàn)在是“ I saw barney with fred.”

      split,它根據(jù)某個(gè)模式將字符串分割開(kāi)。這對(duì)于由制表符分割開(kāi),冒號(hào)分割開(kāi),空白分割 開(kāi),或者任意字符分割開(kāi)的數(shù)據(jù)是非常有用的◆。任何可在正則表達(dá)式之中(通常,是一個(gè)簡(jiǎn)單的正則表達(dá)式)指定分離符(separator)的地方,均可用 split。@fields = split /separtor/, $string;split◆將模式同字符串進(jìn)行比較,將由分離符所分隔開(kāi)的子串作為列表返回回來(lái) @fields = split /:/, “abc:def:g:h”;#返回(“abc” , “def” , “ g” , “ h”)可能得到空的元素,如果其中有兩個(gè)分隔符是連在一起的:

      @fields = split /:/, “abc:def::g:h”;#得到(“abc” , “def” , “” , “ g” , “ h”)這里有一條規(guī)則:開(kāi)頭的空元素會(huì)被返回,但結(jié)尾的空元素被丟棄◆空白/ s+/這個(gè)模式進(jìn)行分割是非常常見(jiàn)的。在這個(gè)模式下,所有的空白等價(jià)于單個(gè)空格: my $some_input = “ This is a t test.n”;

      my @args = split /s+/, $some_input;#(“ This ” , “ is” , “ a ” , “ test.”)默認(rèn)時(shí),split 對(duì)$_操作,模式為空白: my @fields = split;#同 split / s+/, $_;

      join 函數(shù)將這些分割的部分組合成一個(gè)整體。join 函數(shù)類似于: my $result = join $glue, @pieces;join 函數(shù)的第一個(gè)參數(shù)是粘合元素(glue),它可以是任意字符串 my $x = join “ :” , 4, 6, 8, 10, 12;#$x 為“ 4:6:8:10:12”

      在fred and barney went bowling last night 上使用/fred.+barney/ 進(jìn)行匹配.+,它將匹配除了換行符之外的任意字符,次數(shù)大于等于一。但,由于加號(hào)(+)是貪婪的;它將盡可能的進(jìn)行匹配。因此,它將匹配剩余的所有字符串

      在fred and barney went bowling last night 上使用/fred.+?barney/ 進(jìn)行匹配 不是使用加號(hào)(+), 而是使用非貪婪的數(shù)量詞 +?,它將匹配一次或 多次(加號(hào)的意思),但其匹配盡可能少的次數(shù),而非盡可能多的次數(shù)

      第二篇:C程序員精通Perl

      C程序員精通Perl

      本書幫助有C和C++背景的程序員學(xué)習(xí)和使用Perl語(yǔ)言。

      全書共17章,探討了Perl語(yǔ)言的所有知識(shí)要點(diǎn)。既包括C程序員所熟悉的變量、數(shù)據(jù)結(jié)構(gòu)、控制語(yǔ)句和子程序,又包括C中所沒(méi)有的報(bào)告編寫、文本表格操縱、CGI編程以及簡(jiǎn)單數(shù)據(jù)庫(kù)接口,還講述了如何充分利用CPAN庫(kù)中廣泛的Perl模塊庫(kù)。

      本書可作為C和C++程序員學(xué)習(xí)Perl編程的參考書。對(duì)于Perl語(yǔ)言的初學(xué)者,本書可以幫助他們了解C和Perl之間可比較、可結(jié)合特性。

      第三篇:SPSS軟件學(xué)習(xí)心得(模版)

      SPSS軟件學(xué)習(xí)心得

      SPSS(Statistical Product and Service Solutions),名稱是“統(tǒng)計(jì)產(chǎn)品與服務(wù)解決方案”軟件。SPSS軟件的統(tǒng)計(jì)分析步驟:

      (1)讀入數(shù)據(jù)文件,或直接建立SPSS數(shù)據(jù)文件,或調(diào)用其它類型的數(shù)據(jù)文件,如:Excel、純文本文件等;

      (2)調(diào)用統(tǒng)計(jì)分析程式或模板;

      (3)選擇變量,設(shè)定參數(shù)并運(yùn)行;

      (4)查看統(tǒng)計(jì)分析輸出結(jié)果。

      SPSS的主要功能分為兩個(gè)方面:一個(gè)是對(duì)數(shù)據(jù)文件的建立和管理;另一個(gè)是提供了各種統(tǒng)計(jì)分析方法。對(duì)數(shù)據(jù)文件的建立和管理主要通過(guò)Data菜單和Transform菜單實(shí)現(xiàn),可以對(duì)數(shù)據(jù)進(jìn)行修改編輯、查找、排序、合并、分割、抽樣、加權(quán)、重新編碼、編秩、設(shè)定種子數(shù)及計(jì)算或轉(zhuǎn)換新的變量等多種功能;提供各種統(tǒng)計(jì)分析方法則是通過(guò)Analyze菜單實(shí)現(xiàn).可以對(duì)數(shù)據(jù)集進(jìn)行一般統(tǒng)計(jì)分析,如描述性統(tǒng)計(jì)、探索性分析、t檢驗(yàn)、單因素和多因素方差分析、協(xié)方差分析、四格表和列聯(lián)表卡方檢驗(yàn)、相關(guān)分析、線性回歸分析、非參數(shù)檢驗(yàn)、生存分析等。

      特點(diǎn):不需編程,完全采用菜單和對(duì)話框的操作方式,絕大多數(shù)操作過(guò)程僅靠鼠標(biāo)點(diǎn)擊即可完成,簡(jiǎn)便易學(xué),易于操作;具備完備的統(tǒng)計(jì)圖表制作功能,能繪制精美的統(tǒng)計(jì)圖表,并可以極其方便地對(duì)其編輯和修飾。

      應(yīng)用例子:如為了科學(xué)合理的評(píng)估和開(kāi)發(fā)利用河北省土壤中水分,并在不同地區(qū)因地制宜的采取相應(yīng)措施,選定了干旱指數(shù)、土壤質(zhì)地和植被等指數(shù),用層次分析法,計(jì)算出每個(gè)指標(biāo)的權(quán)重,利用SPSS統(tǒng)計(jì)軟件,對(duì)河北省土壤水資源進(jìn)行分類,細(xì)分為了8類,實(shí)現(xiàn)了有效合理地利用土壤水分。

      第四篇:SPSS軟件學(xué)習(xí)心得

      誤差理論數(shù)據(jù)處理分析

      常見(jiàn)的統(tǒng)計(jì)軟件有SAS,SPSS,MINITAB,EXCEL等。這些統(tǒng)計(jì)軟件的功能大同小異,各有所側(cè)重。其中的SAS和SPSS是目前在大型企業(yè),各類院校及科研機(jī)構(gòu)中較為流行的兩種統(tǒng)計(jì)軟件。特別是SPSS,其界面友好,功能強(qiáng)大,易學(xué),易用,包含了幾乎全部尖端的統(tǒng)計(jì)方法,具備完善的數(shù)據(jù)定義,操作管理和開(kāi)放的數(shù)據(jù)接口以及靈活美觀的統(tǒng)計(jì)圖表制作。作為專業(yè)的統(tǒng)計(jì)軟件,SPSS感覺(jué)比EXCEL更豐富,也更準(zhǔn)確。

      從表1中分析,抗拉強(qiáng)度的極小值為67.89,極大值為80.36,均值標(biāo)準(zhǔn)誤差為0.86948,標(biāo)準(zhǔn)差為3,47793,方差為12.096。屈服強(qiáng)度的極小值為47.14,極大值為8.227。

      2從表2中分析,回歸平方和為176.469,自由度為1,均值方差,176.469,顯著性為

      497.056,殘差平方和為4.970,自由度為14,均值方差為0.355。

      3從表3從分析,常數(shù)量B為12.514,非標(biāo)準(zhǔn)化系數(shù)的標(biāo)準(zhǔn)誤差為2.719,T值為4.602。標(biāo)準(zhǔn)系數(shù)使用版為0.986,T值為22.自變量的B值為1.196,非標(biāo)準(zhǔn)化系數(shù)的標(biāo)準(zhǔn)誤差為0.054,295。

      4圖

      1從散點(diǎn)圖可以看出,抗拉強(qiáng)度Y與屈服強(qiáng)度X大致呈線性關(guān)系。人們假設(shè)Y與X之間的內(nèi)在關(guān)系是一條直線,這些點(diǎn)與直線的偏離是實(shí)驗(yàn)過(guò)程中其他一些隨機(jī)因素的影響而引起的。

      心得體會(huì)

      在學(xué)習(xí)SPSS中必須學(xué)會(huì)的是“數(shù)據(jù)組織方式和數(shù)據(jù)測(cè)度”,這個(gè)對(duì)于那些學(xué)習(xí)信息的人容易理解,對(duì)文科出身的人不容易理解。但是這個(gè)問(wèn)題對(duì)于初學(xué)者很重要。在實(shí)際使用SPSS時(shí),就得按部就班地按照先定義變量,測(cè)調(diào)度,在錄入(導(dǎo)入數(shù)據(jù)),再分析。分析并不是整個(gè)流程。

      在大二快結(jié)束的學(xué)習(xí)過(guò)程中參加了SPSS的課程學(xué)習(xí),盡管我只是大略地學(xué)習(xí),泛泛地接觸這門課程,但是對(duì)這門課的興趣很濃。參與這次實(shí)踐的經(jīng)歷深刻改變了我對(duì)這門課的認(rèn)識(shí)。我越發(fā)感到我需要這門課程,我必須掌握這門統(tǒng)計(jì)技術(shù),分析方法。這就是社會(huì)的需求,學(xué)校的標(biāo)準(zhǔn),也是個(gè)人發(fā)展得需要。

      雖然只有幾周的學(xué)習(xí)時(shí)間,但我已經(jīng)對(duì)該課程有了更多的了解,十分感謝黃璟老師講解的這門課,提供了這個(gè)平臺(tái)。理論加實(shí)踐,為不同基礎(chǔ)的學(xué)生提供了好的學(xué)習(xí)環(huán)境。我認(rèn)為開(kāi)設(shè)很有必要,應(yīng)當(dāng)成為重點(diǎn)。

      現(xiàn)實(shí)生活中的數(shù)據(jù)多不勝數(shù),但要得到有用的數(shù)據(jù)并不容易,這就要應(yīng)用數(shù)據(jù)分析的方法確定數(shù)據(jù)的屬性,再用清理工具(清洗、集成、轉(zhuǎn)換、消減)進(jìn)行篩選轉(zhuǎn)化為有用的信息,再用SPSS深入分析,得出規(guī)律。

      對(duì)數(shù)據(jù)的分析是以統(tǒng)計(jì)學(xué)為基礎(chǔ)的,統(tǒng)計(jì)學(xué)提供了一套完整的科學(xué)方法論,統(tǒng)計(jì)軟件則是實(shí)現(xiàn)的手段,統(tǒng)計(jì)分析軟件具有很多有點(diǎn)。它功能全面,系統(tǒng)地集成了多種成熟的統(tǒng)計(jì)分析方法;有完善的數(shù)據(jù)定義、操作和管理功能;方便地生成各種統(tǒng)計(jì)圖形和統(tǒng)計(jì)表格;使用方式簡(jiǎn)單,有完備的聯(lián)機(jī)幫助功能;軟件開(kāi)放性好,能方便地和其他軟件進(jìn)行數(shù)據(jù)交換。我們接觸最多的統(tǒng)計(jì)軟件是EXCEL 和SPSS。在統(tǒng)計(jì)學(xué)中應(yīng)用EXCEL,在數(shù)據(jù)分析中則主要是SPSS,它具有很好的人機(jī)界面和完善的輸出結(jié)果。

      這門課程中我們學(xué)了另外一種數(shù)據(jù)分析方法就是聚類分析。它與“物以類聚,人以群分”是同樣的道理。多元統(tǒng)計(jì)分析方法就是對(duì)樣品或指標(biāo)進(jìn)行量化分類的問(wèn)題,它們討論的對(duì)象是大量的樣品,要求能合理地按各自的特性也就是相似性來(lái)進(jìn)行合理的分類,沒(méi)有任何模式可供參考或依循,即是在沒(méi)有先驗(yàn)知識(shí)的情況下進(jìn)行的。我們學(xué)習(xí)了Q型聚類法、R型聚類法以及系統(tǒng)聚類法。Q型聚類分析樣品間的聚類,用距離來(lái)測(cè)度親疏程度。R型聚類分析變量間的聚類,用相似系數(shù)來(lái)測(cè)度親疏程度。

      常用的Q聚類法有閔氏距離和馬氏距離,只是我們必須掌握的。具體的計(jì)算方法有最短距離法、最長(zhǎng)距離法、重心法、離差平方和連接法等等。在最后一節(jié)課老師講了貝葉斯理論,根據(jù)先驗(yàn)概率和實(shí)驗(yàn)事件得出后驗(yàn)概率,從而得出更為可信的概率。最后,這門課程就學(xué)完了,學(xué)到了很,還有很多不懂。本課程需要很好的統(tǒng)計(jì)和概率論的基礎(chǔ),要不,很難聽(tīng)懂或者簡(jiǎn)直聽(tīng)不懂。同時(shí),老師很少?gòu)?qiáng)求我們及時(shí)做作業(yè),以至于我們知識(shí)掌握不牢固,前學(xué)后忘現(xiàn)象嚴(yán)重。有時(shí)候覺(jué)得老師講得過(guò)深,我們根本無(wú)法接受。希望老師以后講授本課程時(shí)把難度降低一點(diǎn),多給學(xué)生練習(xí)的機(jī)會(huì)。我希望在考試之前把學(xué)懂的知識(shí)鞏固,把不懂得盡量弄懂,但愿以后在工作中能輕松運(yùn)用。

      第五篇:軟件編程學(xué)習(xí)心得

      軟件編程學(xué)習(xí)心得

      隨著計(jì)算機(jī)技術(shù)的發(fā)展和工作的需要,為了能夠更好的維護(hù)公司生產(chǎn)管理系統(tǒng);公司安排我們到北大青鳥(niǎo)APTECH進(jìn)修。我們選擇了時(shí)下最流行、發(fā)展速度較快的語(yǔ)言C#。C#學(xué)習(xí)共分三個(gè)階段,目前我只學(xué)習(xí)了第一個(gè)階段;現(xiàn)將我在北大青鳥(niǎo)學(xué)習(xí)第一階段為期兩個(gè)月的學(xué)習(xí)心得總結(jié)如下:

      C#是一種新的面向?qū)ο蟮木幊陶Z(yǔ)言,專門用于.NET運(yùn)行時(shí)。C#編譯器只能生成受管制的代碼,也可以使用.NET基類。C#語(yǔ)言自C/C++演變而來(lái)。但是,它具有簡(jiǎn)單、現(xiàn)代、完全面向?qū)ο蠛皖愋桶踩戎T多特性。下面就簡(jiǎn)單說(shuō)說(shuō)簡(jiǎn)單和現(xiàn)代其中兩種特性。

      1、簡(jiǎn)單

      C#具有C++所沒(méi)有的一個(gè)優(yōu)勢(shì)就是學(xué)習(xí)簡(jiǎn)單。該語(yǔ)言首要的目標(biāo)就是簡(jiǎn)單。很多功能(還不如說(shuō)是缺少了C++的一些功能)有助于C#全方位的簡(jiǎn)單。

      在C#中,沒(méi)有C++中流行的指針。默認(rèn)地,您工作在受管理的代碼中,在那里不允許如直接存取內(nèi)存等不安全的操作。我想沒(méi)有C++程序員可以聲稱,從沒(méi)有使用指針訪問(wèn)過(guò)不屬于他們的內(nèi)存。

      C#棄用其它操作符,名字空間、成員和引用僅使用單個(gè)操作符 “.”?,F(xiàn)在一個(gè)程序員所需要理解的就是嵌套名字的注解了。

      C#使用統(tǒng)一的類型系統(tǒng)。這種系統(tǒng)充許您把各種類型作為一個(gè)對(duì)象查看,它是一個(gè)原始類型還是一個(gè)full-blown 類。和其它編程語(yǔ)言相比,由于加框(boxing)和消框(unboxing)的機(jī)制,把簡(jiǎn)單類型當(dāng)作對(duì)象處理并不能獲得性能的改善。稍后將詳細(xì)解釋加框和消框,但基本上僅當(dāng)需要時(shí)才使用對(duì)象訪問(wèn)簡(jiǎn)單類型這種技術(shù)。

      2、現(xiàn)代

      投入學(xué)習(xí)C#的努力是一筆大投資,因?yàn)镃#是為編寫NGWS 應(yīng)用程序的主要語(yǔ)言而設(shè)計(jì)。很多用C++可以實(shí)現(xiàn)或者很費(fèi)力實(shí)現(xiàn)的功能,在C#中不過(guò)是一部分基本的功能而已。根據(jù)應(yīng)用程序的特殊需求,可以很容易地創(chuàng)建出新的一種數(shù)據(jù)類型。

      指針不再是編程武器的一部分。運(yùn)行時(shí)NGWS提供了一個(gè)垃圾收集器,負(fù)責(zé)C#程序中的內(nèi)存管理。因內(nèi)存和應(yīng)用程序都受到管理,所以很必要增強(qiáng)類型安全,以確保應(yīng)用的穩(wěn)定性。

      異常處理是C#的主要功能。C#的異常處理與C++的不同點(diǎn)在于它是交叉語(yǔ)言的(運(yùn)行時(shí)的另一個(gè)功能)。在沒(méi)有C#之前,您必須處理怪異的HRESULTs,但現(xiàn)在由于使用了基于異常的健壯的出錯(cuò)處理,這一切都結(jié)束了。

      對(duì)于現(xiàn)代的應(yīng)用程序,安全是首要的,C#也不會(huì)例外。它提供了元數(shù)據(jù)語(yǔ)法,用于聲明下述NGWS安全模式的能力和許可。元數(shù)據(jù)是NGWS運(yùn)行時(shí)的一個(gè)關(guān)鍵的概念。

      通兩個(gè)多月學(xué)習(xí),我能夠很好的掌握C#語(yǔ)言的基本語(yǔ)句、語(yǔ)法以及老師補(bǔ)充的一些要點(diǎn);能夠編寫簡(jiǎn)單的應(yīng)用程序,例如電子郵件的收發(fā)等,為接下來(lái)的第二、第三階段學(xué)習(xí)打下了良好的基礎(chǔ)。

      下載Perl軟件學(xué)習(xí)心得word格式文檔
      下載Perl軟件學(xué)習(xí)心得.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        UG軟件學(xué)習(xí)心得(模版)

        UG軟件學(xué)習(xí)方法 在了解與掌握ug軟件之前,不妨先了解下軟件的學(xué)習(xí)方法。只有掌握了軟件學(xué)習(xí)方法,我們才能更輕松地設(shè)計(jì)。 從事電腦教學(xué)已經(jīng)N年了,經(jīng)常會(huì)碰到很多學(xué)員問(wèn)我:“老師,......

        SAP軟件學(xué)習(xí)心得

        我們學(xué)習(xí)的使用的軟件SAP起源于Systems Applications ,and Products in Data Processing,由德國(guó)的SAP公司開(kāi)發(fā),SAP是目前全世界排名第一的ERP軟件。由于其購(gòu)買價(jià)格高昂,國(guó)內(nèi)購(gòu)......

        AutoCAD2000軟件學(xué)習(xí)心得[定稿]

        AutoCAD2000軟件學(xué)習(xí)心得 翻過(guò)很多CAD的教材,覺(jué)得如果對(duì)照那些教材學(xué)習(xí)CAD的話,確實(shí)都能夠在一定程度上掌握這個(gè)軟件。但是,我覺(jué)得這遠(yuǎn)遠(yuǎn)不夠,從書本到實(shí)戰(zhàn),還有一大段距離。但在......

        office軟件學(xué)習(xí)心得

        Excel的功能很強(qiáng)大。我剛使用Excel的時(shí)候,那時(shí)覺(jué)得并沒(méi)有什么出奇的地方,認(rèn)為僅僅是一個(gè)成績(jī)統(tǒng)計(jì)的工具,排排名次、算算平均分。工作幾年發(fā)現(xiàn)excel的功能不是一般的強(qiáng)大,可平常......

        廣聯(lián)達(dá)軟件學(xué)習(xí)心得

        廣聯(lián)達(dá)軟件學(xué)習(xí)心得 廣聯(lián)達(dá)預(yù)算軟件是廣聯(lián)達(dá)軟件股份有限公司開(kāi)發(fā)的專業(yè)性極強(qiáng)的造價(jià)工程造價(jià)預(yù)算軟件,至目前為止本人學(xué)習(xí)這一軟件已經(jīng)很長(zhǎng)時(shí)間,基本的操作和使用均已掌握,但......

        成都軟件技術(shù)培訓(xùn)學(xué)校哪家好?做Java程序員的Perl教程

        國(guó)信安教育基地 004km.cn 成都軟件技術(shù)培訓(xùn)學(xué)校哪家好?做Java程序員的Perl教程 成都國(guó)信安軟件技術(shù)培訓(xùn)由副教學(xué)總監(jiān),優(yōu)秀講師帶隊(duì)并親自授課,秉承成都國(guó)信安一貫......

        PowerWorld Simulator軟件學(xué)習(xí)心得

        PowerWorld Simulator軟件學(xué)習(xí)心得 這學(xué)期的電力系統(tǒng)分析課上,老師著重介紹了PWS軟件并要求我們主動(dòng)地去了解和學(xué)習(xí)這門仿真軟件。PWS是一個(gè)電力系統(tǒng)仿真軟件包,其設(shè)計(jì)界面友......

        三維軟件學(xué)習(xí)心得[5篇材料]

        學(xué)三維軟件的禁忌第一,過(guò)分講究方法和技巧,而不愿意下真功夫。軟件的運(yùn)用是一種技能,但這種技能不是??考记赡軌颢@得的。太講究方法和技巧會(huì)被其占用很多的時(shí)間和精力,而對(duì)學(xué)......