perl語言入門筆記

2021-05-22 10:24:50 字數 3639 閱讀 1979

perl記事本

1. 'yu' x 3    #  print yuyuyu

2.print "yu jian $s" # 加{}  促使變數不會變成$ages

3. 4 ** 2  #4的平方

4.(1..5) #  -->(1,2,3,4,5)

5.qw ( yu jian's book)  # 簡潔,更少輸入

6.($yu,$jian)=($jian,$yu) # 值互換

7.($yu,$jian)=qw(yu jian) # 賦值

8.@array=qw/yu jian/; #陣列 

9.@array=5..9;

$yu=pop(@array)  # $yu=9  and @array=(5,6,7,8)

$yu=pop @array  # $yu=8  and @array=(5,6,7)

10.如果陣列為空 pop不會報錯,什麼也不返回,直接返回undef

11.push(@array,0)  # @array=(5,6,7,0)

12.pop和push都運算元組末尾

13.shift 和unshift是對陣列的開始端操作

14.$_  perl的預設變數

for(1...10)

15.perl會正確處 理上下文

@people=qw;

@list=@people #得到列表

$n=@people #得到人數2

16.scalar @array #scalar 導致切換為標量上下文

@array =qw/yu jian gao su/;

print "love is ".@array."/n"; #love is 4

print "love is ",@array,"/n"; #love is yujiangaosu

print "love is ".scalar @array,"/n";#love is 4

17.@lines=#在列表上下文中讀取標準輸入

18.chomp 去掉所有的換行符 chmop(@lines)

19. 呼叫自定義方法  &methodname;

20.sub max

my($m,$n); #建立新的所有變數

($m,$n)=@_; #將引數賦值給變數

if($m > $n)else}

21.my($num)=@_ #獲取陣列的第乙個元素

my $num=@_ #陣列的數量

22.use strice ; #強制使用一些嚴格的良好的程式語言規則

23.sub division

24.@argv=qw# file1 file2 #;# 強制讓磚石操作符讀取這兩個檔案

while(<>)

25.printf "hello, %s; your password in %d days!/n",$user,$days;#格式化輸出

%d 整數 %g 浮點數

27.die處理錯誤輸出

28.讀取檔案

open config,"c:/test.txt";

while()

29. say == print  ***x ."/n"  # say  相當 等於print 加換行符

30.hash

$family_name="flint";

$family_name ="rubble";

%family_name("fred","flint","bar","rubble");

my %family_name=(

"fred" => "flint",

"bar" => "rubblle"; )

my @k=keys %family_name;

my @v=values %family_name;  #return array

31.each 函式

while( ($key,$value)=each %family_name )

exists函式

if(exists $family_name("dino"))

delete函式

delete $family;

32./1,/2使用反向引用

$_=""abba;

if(/(.)/1 /)

33. /d = [0-9]

/w = [a-za-z0-9_]

[^/d] 非數字

[^/w]非詞

[^/s] 非空白字元

34./yes/i  # /i 不區分大小寫

35./s 匹配任意字元 , 不包括換行

36./x執行加入空白,便於閱讀理解

37.m//模式匹配搜尋功能

s/// 模式匹配替換功能

/g 全域性替換

38.@fields = split /separator/ , $string;

39.my $result = join $glue,@pieces;

my $x = join ":",4,5,6; # $x = "4:5:6";

40.*貪婪 *?非貪婪版本

perl -p -w -e "s/ran/ra/g" fred.dat

-p 列印  -n 去掉自動列印  -w 開啟警告選項  -e 表示後面更得是**,而不是普通的引數

42.last 類似break 

43.my $stuff="howdy world!";

my $where=index($stuff,"wor"); # $where =  6

44.my $mineral=substr("fred j. flintstone",8,5); # 值為flint

45.智慧型匹配對應不同德運算元,不同德處理方式

%a ~~ %b         雜湊的鍵是否一致

%a ~~@b          至少%a中的乙個鍵在列表@b之中

%a ~~ /fred/     至少乙個鍵匹配給定的模式

%a ~~ 'fred'      雜湊中某一指定鍵$a 是否存在

@a ~~ /fred/     有乙個元素匹配給定的模式

@a ~~ 123        至少有乙個元素轉化為數字後事123

$name ~~ undef  $name確實尚未定義

46.system 啟動子程序

system "date";

14.my $tarfile="some*.tar";

my @dirs=qw(fred|flinetbetty);

system "tar"."cvf",$tarfile,@dirs;  帶引數的系統命令呼叫

47.system 的所有語法對exec都適用

執行exec類似goto語句,跳轉到另個程序進行執行,當前perl程序會關閉

chdir "/tmp" or die "cannot chdir /tmp: #!";

ecec "bedrock","-o","args1",@argv;

48.$env="/home/rootbeer/bin:$env";

delete $env;

my $make_result= system "make";

改修改並不能影響shell或者其他父程序

49.my $now =`date`;

print "the time is now $now";

魔力反引號呼叫程序

Perl語言入門 Perl變數簡介

在編寫perl程式時,需要準備好兩樣工具 乙個文字編輯器和乙個perl直譯器,前者用來書寫 後者用來完成程式的編譯 解釋和執行工作。perl變數支援三種基本資料型別 標量 陣列和關聯陣列。1 標量只能儲存單個值 單個字串或單個數字。必須以美元符號 開頭。示例 number 15 name judy ...

Perl語言入門 雜湊

什麼是雜湊 雜湊是一種資料結構,類似與陣列,不同之處在於雜湊是用字串而非數字來檢索的 為什麼用雜湊 典型的雜湊應用有 按名字找姓 用主機名找ip位址 按ip位址找主機名 按單詞統計出現次數 按身份證號找出姓名等 訪問雜湊元素 語法為 hash 如 family name flintstone 雜湊元...

perl語言簡單入門

定義函式 sub subroutine 呼叫函式 subroutine 引數列表 類似於c語言中定義自己的資料結構 format formatname fieldline value one,value two,value three fieldline value one,value two pe...