Perl基礎知識

2021-09-01 13:16:34 字數 3198 閱讀 6703

1.資料型別:

標量:用$表示,最簡單的一種資料型別。這種資料型別的變數可以是數字,字串,浮點數,不作嚴格的區分。

陣列:陣列變數以字元"@"開頭,索引從0開始,如:@arr=(1,2,3)

雜湊:雜湊變數以字元"%"開頭,乙個無序的 key/value 對集合。可以使用鍵作為下標獲取值。

perl為不同變數型別開闢不同的空間,所以不同的變數可以使用同樣的名稱。 $foo 和 @foo 是兩個不同的變數。

2.字串通常用乙個標量表示,但是不是用0表示字串的結束。

3.perl雙引號和單引號的區別: 雙引號可以正常解析一些轉義字元與變數,而單引號無法解析會原樣輸出。

4.建立變數:

標量變數:$age = 25; print "age = $age\n";

陣列變數:陣列是用於儲存乙個有序的標量值的變數,要訪問陣列的變數,可以使用美元符號($)+變數名,並指定下標來訪問。

@ages = (25, 30, 40);

print "\$ages[0] = $ages[0]\n";

print "\$ages[1] = $ages[1]\n";

print "\$ages[2] = $ages[2]\n"

($前加了轉義字元\,會輸出$)

雜湊變數:雜湊是乙個key/value對的集合,要訪問雜湊值,可以使用$ +格式來訪問

%data = ('google', 45, 'runoob', 30, 'taobao', 40);

print "\$data = $data\n";

print "\$data = $data\n";

print "\$data = $data\n";

$data = 45

$data = 30

$data = 40

5.變數上下文:即表示式在的位置,上下文是由等號左邊的變數型別決定的,等號左邊是標量,則是標量上下文,等號左邊是列表,則是列表上下文。

@names = ('google', 'runoob', 'taobao');

@copy = @names; # 複製陣列

$size = @names; # 陣列賦值給標量,返回陣列元素個數

print "名字為 : @copy\n";      google  runoob taobao

print "名字數為 : $size\n";      3

6.perl 中特殊字元的應用:

__file__, __line__, 和 __package__ 分別表示當前執行指令碼的檔名,行號,包名。__ 是兩條下劃線,__file__ 前後各兩條下劃線。

7.建立陣列:陣列變數以@符號開始,元素放在括號內   @array = (1, 2, 'hello');

訪問陣列元素使用$ + 變數名稱 + [索引值]格式來讀    $array[0]

新增和刪除陣列元素:push @array, list將列表list的值放到陣列array的末尾

pop @array彈出陣列最後乙個值,並返回它

shift @array彈出陣列第乙個值,並返回它。陣列的索引值也依次減一。

unshift @array, list將列表放在陣列前面,並返回新陣列的元素個數。

切割陣列,返回切割後的新陣列:

@sites = qw/google taobao runoob weibo qq facebook 網易/; qw寫陣列

@sites2 = @sites[3,4,5];              weibo qq facebook

替換陣列元素使用 splice() 函式:

splice @array, offset [ , length [ , list ] ]  @array:要替換的陣列,offset:起始位置,length:替換的元素個數,list:替換元素列表。
8.雜湊是key和value的組合。

訪問雜湊元素格式:$雜湊名

建立雜湊:1.為每個 key 設定 value    $data = 'google.com';

2.通過列表設定:列表中第乙個元素為 key,第二個為 value。

%data = ('google', 'google.com', 'runoob', 'runoob.com', 'taobao', 'taobao.com');

也可以使用=>符號來設定 key/value:

%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');
讀取雜湊值:@雜湊名

讀取所有key:  keys %雜湊名

讀取所有值:values %雜湊名

為了避免這種情況,我們可以使用exists函式來判斷key是否存在,存在的時候讀取:

%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');

if( exists($data ) )

\n"; }

else

獲取雜湊大小:通過先獲取 key 或 value 的所有元素陣列,再計算陣列元素多少來獲取雜湊的大小。

%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');

@keys = keys %data;

$size = @keys;

print "1 - 雜湊大小: $size\n";     3

9.檔案操作:

讀取檔案:open(data, ">表示寫入方式,以讀寫方式開啟檔案,可以在 > 或 < 字元前新增 + 號,這種方式不會刪除檔案原來的內容。

讀寫檔案:

讀取 import.txt 並將每一行放到 @lines 陣列中:

open(data,"@lines = ;

print @lines; # 輸出陣列內容

close(data);

征服Perl 基礎知識 里程碑M4

1 在perl中,陣列的概念和其他語言差不多,有程式設計基礎的人很快就能理解,這裡注意的是陣列可以放置不同型別的東西在裡面。同時,陣列不限制長度,perl會自動增加的,沒有定義的就預設為undef。2 在陣列中,可能要使用最後乙個元素,我們一般這樣來實現 a 0 a1 a 1 a2 a 2 a3 p...

征服Perl 基礎知識 里程碑M3

在perl內部沒有整數值,整數被當成等價的浮點數來處理。來連線字串。x把操作符左邊的字串重複操作右邊數字那麼多次。不用擔心使用數字還是字串,大多數情況下perl將自動轉換他們。perl內嵌的警告 命令列中加引數 w 或在 usr local bin perl w。perl中變數的名字由乙個美圓符號 ...

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...