锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
浣犲皢鐪嬪埌鏁存暟(濡?55錛?001 絳?鍜屾誕鐐規暟錛堟湁灝忔暟鐐圭殑瀹炴暟錛屽3.14159錛?.35x1025錛夛紝浣嗗湪鍐呴儴錛孭erl 閮芥妸瀹冧滑褰撲綔鍙岀簿搴︽誕鐐規暟鏉ュ鐞?/p>
61298040283768,Perl 鍏佽鐢ㄤ笅鍒掔嚎鏉ュ垎闅斿畠錛屽洜姝ゅ彲浠ュ儚涓嬮潰榪欐牱涔﹀啓錛?1_298_040_283_768
鍜孋錛孋++涓嶅悓錛孭erl 涓璑UL 瀛楃娌℃湁鐗規畩鐨勫惈涔夈侾erl 鑳借綆楅暱搴︼紝涓嶇敤闈爊ull 鏉ュ垽鏂瓧絎︿覆鏄惁緇撴潫銆?br>
鍗曞紩鍙峰瓧絎︿覆涓殑\n 涓嶄細琚綋浣滄崲琛岀鏉ュ鐞嗭紝鍏朵粎浠呮槸涓や釜瀛楃\鍜宯銆傚彧鏈夊湪鍙嶆枩綰?\)鍚庨潰鎺ョ殑鏄痋鎴栧崟寮曞彿’錛屽叾鎵嶄細琚綋浣滅壒孌婄鍙鋒潵澶勭悊銆?br>
涓涓壒孌婄殑鎿嶄綔絎︽槸瀛楃涓查噸澶嶆搷浣滅(string repetition operator)錛岀敱灝忓啓鐨勫瓧姣峹 琛ㄧず銆?br>“fred”x 3 #“fredfredfred”
“barney”x (4+1) # “barney”x 5, “barneybarneybarneybarneybarney”
5 x 4 #瀹為檯涓婃槸“5”x 4, “5555”
鏍囬噺鍙橀噺鍦≒erl 涓敱$寮澶?br>
鍒楄〃鍜屾暟緇勫彲浠ュ寘鍚換鎰忔暟閲忕殑鍏冪礌銆傛渶灝戝惈鏈? 鍏冪礌錛屾渶澶氬彲浠ュ~婊′綘鐨勫彲鐢ㄥ唴瀛樸傝繖閲屽張浣撶幇浜哖erl 鐨勮璁″摬瀛?“娌℃湁涓嶅繀瑕佺殑闄愬埗”銆?br>
rocks 鏁扮粍錛屽叾鏈鍚庝竴涓厓绱犵殑绱㈠紩涓?#rocks
Larry 鎻愪緵浜嗕竴縐嶇畝渚挎柟娉曪細鏁扮粍鐨勮礋鏁扮儲寮曞間粠鏈鍚庝竴涓厓绱犲紑濮?br>璐熸暟绱㈠紩鍊兼槸-1琛ㄧず鏈鍚庝竴涓厓绱?br>
涓涓粰瀹氱殑琛ㄨ揪寮忓湪涓嶅悓鐨勪笂涓嬫枃涓叾鍚箟鏄笉鍚岀殑銆?br>$fred = something; # 鏍囬噺context
@pebbles = something; #鍒楄〃context
($wilma,$betty) = something; #鍒楄〃context
($dino) = something; #鍒楄〃context
褰揚erl 閬嶅巻姝ゅ瓙紼嬪簭鏃訛紝灝嗕細璁$畻姣忎竴姝ョ殑鍊箋傛瀛愮▼搴忎腑鏈鍚庤綆楃殑鍊煎皢琚繑鍥炪?br>
榪欐槸Unix涓緢灝戜漢鐭ラ亾鐨勪竴涓簨瀹烇細濡傝澶氭爣鍑嗙殑宸ュ叿錛屽cat,sed,涔熶嬌鐢ㄨ繖縐嶇害瀹氾紝榪炴帴鍙鳳紙-錛変唬琛ㄦ爣鍑嗚緭鍏ユ祦銆?br>
鎶鏈笂璁詫紝<>浠庢暟緇凘ARGV 涓緱鍒拌皟鐢ㄥ弬鏁般?br>
printf“The items are:\n”. (“%10s\n”x @items), @items;
紼嬪簭鐨勫悕瀛楀湪Perl 鐨勭壒孌婂彉閲?0 涓?br>
鍙湁Perl 鎴愬姛鐨勯噸鏂版墦寮鏂扮殑榪炴帴錛屽惁鍒欐槸涓嶄細鍏抽棴浠ュ墠鐨勮繛鎺ャ?br>
瑕佸紩鐢ㄦ暣涓猦ash錛屼嬌鐢ㄧ櫨鍒嗗彿(“%”)浣滀負鍓嶇紑
浣跨敤delete 鍚庯紝hash 涓皢涓嶄細瀛樺湪姝ey錛涘鏋滃叾鍊兼槸udnef錛屽垯key 鏄瓨鍦ㄧ殑銆?br>
涓嶈灝嗘鍒欒〃杈懼紡鍜宻hell 涓殑鏂囦歡鍚嶅尮閰嶆ā寮忥紝globs 娣鋒穯浜?
Perl 涓紝娉ㄩ噴鍙互琚綔涓虹┖鐧?br>
浣跨敤緇戝畾鎿嶄綔絎?=~)灝嗗憡璇塒erl 灝嗗彸杈圭殑妯″紡鍦ㄥ乏杈圭殑瀛楃涓蹭笂榪涜鍖歸厤錛岃岄潪瀵?_鍖歸厤銆?br>
@fields = split /:/,“abc:def::g:h”; #寰楀埌(“abc”, “def”, “”, “g”, “h”)
榪欓噷鏈変竴鏉¤鍒欙細寮澶寸殑絀哄厓绱犱細琚繑鍥烇紝浣嗙粨灝劇殑絀哄厓绱犺涓㈠純
@fields = split /:/, “:::a:b:c:::”; #寰楀埌錛?#8220;”, “”, “”, “a”, “b”, “c”錛?
榛樿鏃訛紝split 瀵?_鎿嶄綔錛屾ā寮忎負絀虹櫧錛?br>my @fields = split; #鍚宻plit /\s+/, $_錛?br>
濡傛灉娌℃湁鎸囧畾鏂囦歡鍚嶏紝鍒欏叾浠庢爣鍑嗚緭鍏ユ祦涓嚜鍔ㄦ墦寮鍜屽叧闂竴緋誨垪鏂囦歡榪涜璇誨叆銆傚鏋?^I涓湁瀛楃涓詫紝榪欎釜瀛楃涓插垯浼氭垚涓哄浠芥枃浠剁殑鎵╁睍鍚嶃?br>
?鍙峰湪姝e垯琛ㄨ揪寮忎腑鐨勭鍥涚鐢ㄦ硶錛氶棶鍙鳳紝琛ㄧず0 鎴? 鐨勬暟閲忚瘝錛岄潪璐┆淇グ絎︼紝鐜板湪鏄紑澶寸
鏉′歡琛ㄨ揪寮忎篃鏄厛琚眰鍊肩殑錛岃櫧鐒惰鏀懼湪鍚庨潰
last 浼氱珛鍒葷粨鏉熷驚鐜傦紙榪欏悓C 璇█鎴栧叾瀹冭璦涓殑“break”璇彞綾諱技錛?br>
鍙互浣跨敤last 浠?#8220;瑁哥殑”浠g爜鍧椾腑璺沖嚭銆?br>
next 涔嬪悗錛屽張浼氳繘鍏ヤ笅涓杞驚鐜紙榪欏拰C 鎴栬呯被浼艱璦鐨?#8220;continue”鐩鎬技錛?br>
redo浼氳皟鍒板綋鍓嶅驚鐜潡鐨勯《绔紝涓嶈繘琛屾潯浠惰〃杈懼紡鍒ゆ柇浠ュ強鎺ョ潃鏈寰幆銆?br>
鏍囩鍦ㄦ暣鍧椾箣鍓嶄嬌鐢紱涓嶆槸閽堝浠g爜涓殑鏌愪簺鐐?br>
-T鍜?B鍒嗗埆媯嫻嬩竴涓枃浠舵槸鏂囨湰鐨勮繕鏄簩榪涘埗,閭erl鏄庢牱鐭ラ亾鐨勫憿錛熺瓟妗堟槸Perl嬈洪獥浜嗘垜浠細瀹冩墦寮涓涓枃浠訛紝鏌ョ湅鍓嶉潰鍑犲崈涓瓧鑺傦紝榪涜鍚堢悊鐨勭寽嫻嬨傚鏋滄病鏈夊お澶氱殑鎬紓絎﹀彿錛屽垯鍏跺儚鏂囨湰
姣忓綋鍦ㄧ▼搴忎腑浣跨敤stat, lstat錛屾垨鏂囦歡媯嫻?file test)鏃訛紝Perl 灝變細瑕佹眰緋葷粺鍒嗛厤涓鍧梥tat buffer緇欐枃浠?涔熷氨鏄紝stat緋葷粺璋冪敤鎵榪斿洖鐨刡uffer)銆傝繖灝辨剰鍛崇潃濡傛灉鎯崇煡閬撴枃浠舵槸鍚︽槸鍙涓斿彲鍐欑殑錛岄渶瑕佸鐩稿悓鐨勪俊鎭繘琛屼袱嬈$郴緇熻皟鐢?br>
榪欐殫紺轟簡涓涓洰褰曠殑榪炴帴鏁扮瓑浜? (.鍜?.)鍔犱笂鍏跺寘鍚殑瀛愮洰褰曠殑涓暟銆?br>
鍦≒erl 涓紝鐜鍙橀噺鍙互閫氳繃%ENV 榪欎釜hash 鍙橀噺寰楀埌
瀵逛簬system鍜宔xec錛屽叾杈撳嚭鐨勭粨鏋滀紶鍒癙erl鏍囧噯杈撳嚭鐨勫湴鏂廣傛湁鏃訛紝灝嗗叾緇撴灉浣滀負瀛楃涓蹭繚鐣欎笅鏉ヤ互渚胯繘涓姝ュ鐞嗘槸寰堟湁瓚g殑銆傝繖鍙互閫氳繃浣跨敤鍙嶅紩鍙?`)鑰岄潪鍗曞紩鍙鋒垨鑰呭弻寮曞彿鍋氬埌
Perl 鎻愪緵浜嗗鐞嗕弗閲嶉敊璇殑鏂規硶錛氬皢榪欎簺浠g爜鏀懼叆eval 鍧椾腑
eval 鏄竴涓〃杈懼紡錛堜笉鏄儚while 鎴杅oreach 閭f牱鐨勬帶鍒剁粨鏋勶級錛屽洜姝ょ粨灝懼鐨勫垎鍙鋒槸蹇呴』鐨勩?br>
濡傛灉eval 鎹曟崏鍒頒簡涓ラ噸閿欒錛屽垯榪斿洖鍊間負undef 鎴栫┖鍒楄〃錛屼緷璧栦簬鍏禼ontext
濡傛灉灝嗗垪琛ㄧ殑涓涓厓绱犺璧嬬粰undef錛屽垯鎰忓懗鐫蹇界暐姝ゅ厓绱狅細
my(undef, $card_num, undef, undef, undef, $count) = split /:/;
鍚宎rray slice涓鏍鳳紝(hash slice)鍙橀噺鍓嶇殑絎﹀彿錛?鎴朄絎﹀彿錛夊喅瀹氫簡涓嬫爣琛ㄨ揪寮忕殑context銆傚鏋滃墠闈㈡槸$絎﹀彿錛屽垯涓嬫爣琛ㄨ揪寮忔槸鍦ㄦ爣閲廲ontext 涓姹傚鹼紝寰楀埌涓涓尖梿銆傚鏋滀箣鍓嶄負@絎﹀彿錛屽垯涓嬫爣琛ㄨ揪寮忓湪鍒楄〃context 涓姹傚鹼紝寰楀埌涓鍒楀箋?br>