偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Perl基礎(chǔ)知識(shí)大全

開發(fā) 架構(gòu)
本文向大家介紹一下Perl的概念,剛開始時(shí)Perl是一種文本處理語(yǔ)言,是一種理想的編寫商業(yè)報(bào)告、完成系統(tǒng)管理工作以及處理html表單的語(yǔ)言。

本文和大家重點(diǎn)討論一下Perl的概念,Perl是一種文本處理語(yǔ)言,現(xiàn)在Perl提供了大量的模塊集。Perl是:一種核心且及其靈活的語(yǔ)言,一套已安裝的模塊。下面請(qǐng)看本文有關(guān)Perl內(nèi)容詳細(xì)介紹。

Perl基礎(chǔ)知識(shí)

1,Perl介紹
(1)
剛開始時(shí)Perl是一種文本處理語(yǔ)言,是一種理想的編寫商業(yè)報(bào)告、完成系統(tǒng)管理工作以及處理html表單的語(yǔ)言?,F(xiàn)在Perl提供了大量的模塊集。Perl是:
一種核心且及其靈活的語(yǔ)言
一套已安裝的模塊
CPAN——一個(gè)包含上千個(gè)有用模塊的庫(kù)
在線模塊文檔

(2)在線文檔
》perldocperl
查看函數(shù):perldoc-t-fjoin
打印文檔,Perl以POD的形式保存文檔,可以方便轉(zhuǎn)成其他多種格式,例如:
perldoc-usubject|pod2html>file.html

(3)安裝模塊
windows下使用ppm:
ppminstalltk  #p#

2,Perl基礎(chǔ)知識(shí)

(1)helloworld.pl
usestrict;//打開嚴(yán)格語(yǔ)法和變量檢查
usewarnings;//打開附加編譯和運(yùn)行時(shí)的警告
print"helloworld\n";//打印信息

運(yùn)行方式,命令行下:perlhelloworld.pl

(2)變量和簡(jiǎn)單表達(dá)式
只有一種變量,字符串

定義變量:
my$size=42;#這是注釋
my表示局部變量,42實(shí)際上是“42”

如果變量沒有初始化,就被賦予一個(gè)特殊值undef,對(duì)undef進(jìn)行比較、打印或算術(shù)運(yùn)算會(huì)出錯(cuò)。

(3)打印變量:
print"size=$size"
會(huì)打印出size=42;
如果要打印"$",需要轉(zhuǎn)義

perl也有printf,類似c語(yǔ)言,不過只在需要精確控制變量格式的地方才使用,比如:
printf"%3d:%-20s%5.2f\n",$sequence,$description,$amount;

(4)運(yùn)算符
和c一樣,多的有:
.:字符串連接
**:乘冪
x:重復(fù),比如:my$no="no"x3;

(5)引用規(guī)則
如果輸出的字符串后面還有字符,需要用大括號(hào)分隔,例如:
my$title="$name\t${size}inches"

如果不希望Perl竄改你的字符串,則要使用單引號(hào)。Perl不會(huì)解釋單引號(hào)內(nèi)的東西,除非\'和\\

(6)數(shù)字常量
與c相同,包括八進(jìn)制和十六進(jìn)制,數(shù)字中還允許使用下劃線,例如:
my$cost=1_333_832;

(7)讀取輸入
從標(biāo)準(zhǔn)輸入讀取輸入:
$variable=<STDIN>;(stdin也可以全小寫)
將讀取整行,直到新行,包括你的回車。

chomp($name),可以去掉字符串末尾的新行

(8)if語(yǔ)句和關(guān)系運(yùn)算符
例如:
if($size==1){

}elsif($size==2){//注意不是elseif

}else{
die("錯(cuò)誤");//打印錯(cuò)誤消息并退出
}

關(guān)系運(yùn)算符分別有用于數(shù)字和字符串的:
數(shù)字字符串
==eq
!=ne
<lt
<=le
>gt
>=ge

如果字符串用了數(shù)字的關(guān)系運(yùn)算,會(huì)將字符串轉(zhuǎn)換為0,會(huì)顯示一個(gè)警告

(9)測(cè)試變量是否有值
defined($value)
取消定義變量undef($value)

(10)真的定義
false:未定義變量,空字符串,值“0”
true:其他情況

(11)循環(huán)語(yǔ)句
while(condition){
last;//退出循環(huán),類似c中的break
}
for($i=0;$i<10;$i++)
{
}

(12)簡(jiǎn)單IO
讀取文件:
openIN_FILE"<data.txt"//打開data.txt,“<”是一個(gè)特殊字符,表示要讀取
典型使用:openIN_FILE,"<data.txt"ordie("Couldnotopendata.txt");
如果成功就不會(huì)執(zhí)行or后面的語(yǔ)句

讀取文件中的數(shù)據(jù):
$line=<IN_FILE>
if(notdefined($line)){//判斷是否EOF

}
close(IN_FILE)//關(guān)閉文件
建議對(duì)讀出來的東西都進(jìn)行chomp,去掉"\n"

寫入文件:
openOUT_FILE">data.txt"//打開data.txt,“>”是一個(gè)特殊字符,表示要寫入
printOUT_FILE"hello\n"  #p#

3,Perl數(shù)組

Perl中所有Perl數(shù)組變量都以@開頭

(1)基本Perl數(shù)組
定義和使用
my@list=("a","b","c");
$list[0],$list[1],$list[2],下標(biāo)從0開始

Perl數(shù)組中元素個(gè)數(shù):$#array_name,返回Perl數(shù)組中最后一個(gè)變量的索引=Perl數(shù)組元素個(gè)數(shù)-1
空Perl數(shù)組$#array_name=-1

Perl數(shù)組表達(dá)式:
@array=(1,$data,"sam");
@array_dest=@array_source;
@full_message=($prefix1,$prefix2,@message);//在message前面加了兩個(gè)元素,賦值full_message

打印Perl數(shù)組:
print“@array”,打印結(jié)果中間用空格分隔,去掉雙引號(hào),中間沒有分隔

帶有“黑洞”的Perl數(shù)組:
如果Perl數(shù)組中有沒有賦值的元素,則為undef,例如:
my@array=(1);
$array[5]=4;//中間的幾個(gè)下標(biāo)對(duì)應(yīng)的都是undef

引用詞運(yùn)算符qw:
my@array=qw(tomdickharry);//中間除了空格沒有其他分隔符
相當(dāng)于my@array=("tom","dick","harry");

(2)一些Perl數(shù)組相關(guān)函數(shù):
push(@array,$value):向結(jié)尾添加一個(gè)元素

pop(@array):取走最后的元素并返回

unshift(@array,$value):在Perl數(shù)組起始添加一個(gè)元素

shift(@array)或者shift@array:取走第一個(gè)元素并返回(函數(shù)都可以省略括號(hào))

(3)處理Perl數(shù)組的一部分:
可以用一套索引,例如:
my@new_array=@array[1,3,5];
@array[1,0]=@array[0,1];

范圍運(yùn)算符,例如:
@arry[0..9]=((0)x10);//重復(fù)10次0

(4)splice函數(shù)
splice可以刪除或者替換Perl數(shù)組的一部分,格式為:
splice@array,$offfset//刪除從offset開始到末尾,offset為下標(biāo),offset為負(fù)數(shù)則從結(jié)尾算起
例如:
my@array=(0,1,2,3,4,5);
splice(@array,-2);
將得到0123

splice會(huì)返回最后刪除的函數(shù)。

splice另一種形式:
splice@array,$offset,$length,刪除length個(gè)元素

第三種形式:
splice@array$offset,$length,REPLACEMENTS
刪掉后,從offset開始添加REPLACEMENTS里的元素,REPLACEMENTS可以是標(biāo)量或者Perl數(shù)組

(5)split和join函數(shù)
@array=splitRegExpr,$string//將$string按照RegExpr指定的分隔符來分解放到@array中

$string=join$union,@array//將@array中元素用$union連接,賦值給@string

(6)Perl數(shù)組排序
sort函數(shù),默認(rèn)按照ASCII順序排序:
my@sorted=sort@array;

按數(shù)字順序排序:
@result=sort{$a<=>$b},@unsorted;

(7)@ARGV變量
包含程序的命令行參數(shù),與c中不一樣,第一個(gè)參數(shù)不是程序的名字
程序的名字在變量$0(數(shù)字0)中

【編輯推薦】

  1. Perl if語(yǔ)句用法實(shí)例解析
  2. Perl文件句柄概念詳解
  3. 實(shí)例解析Perl守護(hù)進(jìn)程用法
  4. Perl模式匹配經(jīng)驗(yàn)總結(jié)
  5. 術(shù)語(yǔ)匯編 Perl變量中Perl關(guān)聯(lián)數(shù)組用法解析
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-07-23 13:16:07

Perl

2010-07-16 10:53:30

Perl基礎(chǔ)

2009-08-24 17:07:09

C# 泛型

2011-03-31 14:46:29

MySQL數(shù)據(jù)庫(kù)備份

2010-01-25 11:55:41

MySQL數(shù)據(jù)庫(kù)備份數(shù)據(jù)庫(kù)安全

2023-07-04 07:31:06

MapReduce數(shù)據(jù)處理編程模型

2011-03-29 14:11:20

Cacti基礎(chǔ)知識(shí)

2011-09-16 10:13:02

Emacs

2009-04-10 09:35:00

WCDMA基礎(chǔ)無(wú)線網(wǎng)絡(luò)

2014-08-20 10:15:45

2009-04-17 14:22:40

XPathXML基礎(chǔ)

2009-09-23 11:07:11

Hibernate基礎(chǔ)

2015-06-01 13:35:43

數(shù)據(jù)中心DCIM

2021-11-05 15:31:01

UbuntuLinux

2009-09-14 14:49:12

LINQ查詢基礎(chǔ)知識(shí)

2009-09-21 15:11:54

虛擬化基礎(chǔ)知識(shí)

2010-08-24 15:39:59

2009-08-13 16:13:03

C#基礎(chǔ)知識(shí)

2009-08-13 12:50:45

C#基礎(chǔ)知識(shí)

2009-07-15 16:00:34

橋架綜合布線
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)