perl教程
http://www.cbi.pku.edu.cn/chinese/documents/perl/index.htm
perl入門
http://developer.51cto.com/art/201009/224638.htm
學習perl一 helloworld
**********************************************
簡單介紹:
Perl是一種指令碼語言.追求的是簡單, 解決一個一般的問題用它幾行代碼就完成了. 一個稍複雜一點的問題代碼也不會超過一屏! 很強大,優點很多.
缺點:太靈活性(優點&缺點),“過度”的冗餘文法,許多Perl程式的代碼令人難以閱讀,實現相同功能的程式碼長度可以相差十倍百倍。不過Perl同樣可以將代碼書寫得像Python或Ruby等語言一樣優雅。
要啟用Perl,您需要有Perl解釋程式。在任何裝有UNIX的電腦上,99.99%的都已安裝了Perl解釋程式。在裝有Windows或Mac電腦上,您需要下載最新的語言版本並將其安裝到電腦上。您可從網上輕鬆下載Perl,並且是免費的。 在Linux 系統下、大部分類UNIX 系統(包括Mac OS X),perl是隨系統安裝的,可在命令列終端輸入命令perl -v,查看版本,對於Windows有兩種版本可用:Strawberry Perl 與 ActivePerl
**********************************************
第一個helloword的編寫:
建立一個文字檔 hello.pl在裡面寫一行語句:
print "Hello World!";
然後在命令列執行 perl hello.pl
如果是在unix下編程,更方便:
建立一個文字檔 hello.pl 在裡面寫:
#!/usr/local/bin/perl
print "Hello World!";
然後直接執行hello.pl就ok
初步認識:
逸出字元\t \n ..等和c、java的一樣
#列印後換行
print "Hello World\n";
以#開頭為注釋行
直接列印HellonWorld\n ''內的字元會原樣列印
print 'HellonWorld\n';
**********************************************
零碎知識
一對反引號表示引號內的字元應被識別為一個作業系統命令,該命令與輸入的命令一併執行
print `cmd /c dir`;
變數定義,以$號開頭
$num =1;
數組定義,以@開頭
@array = (1,2,3);
數組元素調用 $array[index],其中index表示數組下標
$array[0]的值是1
散列定義,以%開頭
%hash=("a",1,"b",2);
散列調用 %hash,其中keys表示索引值,多用字串表示,注意hash的key必須具有唯一性,但value可以不唯一,為此hash的key經常被用來做唯一化處理,如上例中的"a", "b", values是keys對應的值,如1,2。$hash{"b"}的值是2。
==可表示兩個變數或值是否相等 同理 <= != >= < > 和c一樣
print "input a number(number between {1,0}):";
#getc讀取一個字元 或用read(STDIN, $i, 1); 第三個參數中的1是要讀取的輸入資料的長度
$x= getc(STDIN);
print "\nyou have input a number:",$x;
if($x>1||$x<0){
print "\nerror";
}
資料類型:整形 浮點型 字串
整型,與其它語言基本相同,PERL實際上把整數存在浮點寄存器中,所以實際上被當作浮點數看待。在多數電腦中,浮點寄存器可以存貯約16位元字,長於此的被丟棄。整數實為浮點數的特例。
$a=123456789123456789123456789;
print $a;
列印1.23456789123457e+026
8進位以0打頭,16進位以0x打頭。
$var1 = 047; (等於十進位的39)
$var2 = 0x1f; (等於十進位的31)
浮點數 如 11.4 、 -0.3 、.3 、 3. 、 54.1e+02 、 5.41e03
浮點寄存器通常不能精確地存貯浮點數,從而產生誤差,在運算和比較中要特別注意。指數的範圍通常為-309到+308。
字串 慣用C的程式員要注意,在PERL中,字串的末尾並不含有隱含的NULL字元,NULL字元可以出現在串的任何位置
單引號字串與雙引號字串有兩個區別,一是沒有變數替換功能,二是反斜線不支援逸出字元,而只在包含單引號和反斜線時起作用。單引號另一個特性是可以跨多行,如:
$text = 'This is two
lines of text
';
與下句等效:
$text = "This is two\nlines of text\n";
.字串和數值的互相轉換
例1:
$string = "43";
$number = 28;
$result = $string + $number; # $result = 71
若字串中含有非數位字元,則從左起至第一個非數位字元,如:
$result = "hello" * 5; # $result = 0
$result = "12a34" +1; # $result = 13
.變數初始值
在PERL中,所有的簡單變數都有預設初始值:"",即Null 字元。但是建議給所有變數賦初值,否則當程式變得大而複雜後,很容易出現不可預料且很難調試的錯誤。複製搜尋
複製搜尋