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 = 455.變數上下文:即表示式在的位置,上下文是由等號左邊的變數型別決定的,等號左邊是標量,則是標量上下文,等號左邊是列表,則是列表上下文。$data = 30
$data = 40
@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) 類
類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...