Perl学习总结
Perl 教程
Perl 是 Practical Extraction and Report Language 的縮寫,可翻譯為 "實用報表提取語言"。
Perl 是高級、通用、直譯式、動態的程序語言。
Perl 最初的設計者為拉里·沃爾(Larry Wall),于1987年12月18日發表。
Perl 借用了C、sed、awk、shell腳本以及很多其他編程語言的特性。
Perl 最重要的特性是Perl內部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。
誰適合閱讀本教程?
本教程適合想從零開始學習 Perl 編程語言的開發人員。當然本教程也會對一些模塊進行深入,讓你更好的了解 Perl 的應用。
學習本教程前你需要了解
在繼續本教程之前,你應該了解一些基本的計算機編程術語。如果你學習過PHP,ASP等其他編程語言,將有助于你更快的了解 Perl 編程。
第一個 Perl 程序
對于大多數程序語言,第一個入門編程代碼便是"Hello World!",以下代碼為使用 Perl 輸出"Hello World!":
實例
#!/usr/bin/perl?
print "Hello, World!\n";
========
Perl:執行最常見的編程任務(1)
http://developer.51cto.com/art/201009/224638.htm文章將介紹Perl的基礎知識,一旦您掌握了Perl的相關知識,使用起來就會非常簡單。在本文中,我們將首先介紹如何使用Perl執行最常見的編程任務。
Perl是一種非常簡單、應用廣泛且反響很好的腳本語言。它可用于各種任務(例如,您可以使用它創建DOS批處理文件或C外殼腳本的等效文件),但在網絡開發環境中,它用于開發CGI腳本。
由于Perl是一種腳本語言,所以使用它的一個好處就是可以分發程序的源代碼。這就為您提供了學習Perl的機會,您也可以下載和修改數千個Perl腳本,以供自己使用。Perl的缺點之一就是,多數的免費代碼都難以理解。這使Perl自身成了一種神秘的語言類型!
本文假定您已經知道如何編程(如果您了解C語言,這對您將非常簡單)。一旦掌握了有關Perl的基礎知識,使用起來就會非常簡單。在本文中,我們將首先介紹如何使用Perl執行最常見的編程任務。閱讀本文后,您將可以相對輕松地編寫自己的Perl腳本,還可以輕松地讀取其他人編寫的含義模糊的腳本,這將是一個好的開始。
要啟用Perl,您需要有Perl解釋程序。在任何裝有UNIX的計算機上,99.99%的都已安裝了Perl解釋程序。在裝有Windows或Mac計算機上,您需要下載最新的語言版本并將其安裝到計算機上。您可從網上輕松下載Perl,并且是免費的。
接下來,請確保查看Perl附帶的DOCS目錄,其中會有類似用戶手冊的資料。如果您已加載了Perl,請確保已正確設置了路徑以包含Perl的可執行文件。然后,打開文本編輯器并創建一個文本文件。在文件中,輸入以下行:
print "Hello World!n";?
將文件命名為“test1.pl”。在命令提示符下鍵入:
perl test1.plPerl?
將運行并執行文本文件中的代碼。您應該會看到詞語“Hello World!”打印到標準輸出中。正如您所看到的,在Perl中創建和運行程序都非常簡單。(如果使用的是UNIX,您可以在第一行中輸入一段注釋,如#!/usr/bin/perl,那么以后您就不需要在命令行鍵入單詞“perl”了。)
print命令會將內容打印到標準輸出中。符號n是換行符。如果您將測試程序修改成以下形式會更清楚(#表示一段注釋):
# Print on two lines ??
print "HellonWorld!n";?
請注意,打印命令知道它應該將“n”解釋為換行符而不是文字字符這并不是由于打印命令擁有智能,而是因為使用了雙引號(在Perl中實際稱為引用)。如果您用單引號代替雙引號,例如:
print 'HellonWorld!n';?
則不會對字符n進行解釋,而是用文字代替。
還有反引號字符:`。一對反引號表示引號內的字符應被識別為一個操作系統命令,并且該命令與您輸入的命令一并執行。如果您試圖將操作系統的命令行操作置于反引號內,則將執行該命令。例如,在Windows NT系統中,您可以使用:
print 'cmd /c dir';?
========
Perl格式 - 書寫報表
http://www.yiibai.com/perl/perl_format.htmlPerl格式書寫報告編程教程,例子教程,參考手冊和代碼 - 如前所述Perl代表著實際提取和報告語言,我們將討論如何使用Perl來編寫報告。
如前所述Perl代表著實際提取和報告語言,我們將討論如何使用Perl來編寫報告。
Perl使用寫作模板,所謂的“格式”輸出報告。要使用格式的Perl特性,你必須:
定義格式
傳遞數據將被顯示在格式中
調用格式
定義格式
以下是語法來定義一個Perl的格式
? ? format FormatName =
? ? fieldline
? ? value_one, value_two, value_three
? ? fieldline
? ? value_one, value_two
? ? .
FormatName表示的格式的名稱。Fieldline是應該被格式化的具體數據。線條表示值,將被輸入到的磁力線,與一個句點結束的格式。
Fieldline可以包含任何文本或fieldholders。Fieldholders保持空間的數據將置于在稍后的日期。fieldholder有一個格式:
@<<<<
fieldholder是左對齊,用5空格空間。知道有多少在該字段的空格,您必須自行計算@符號和<的大小。其它字段中持有包括:
@>>>> right-justified
? ?@|||| centered
? ?@####.## numeric field holder
? ?@* multiline field holder
一個例子的格式是:
? ?format EMPLOYEE =
? ?===================================
? ?@<<<<<<<<<<<<<<<<<<<<<< @<<?
? ?$name $age
? ?@#####.##
? ?$salary
? ?===================================
? ?.
在這個例子中$的名字將被寫為左對齊在22個字符的空格和年齡后,在兩個空格空間將被寫入。
調用格式寫入數據
為了調用此格式的聲明,我們將使用寫關鍵字:
write EMPLOYEE; #send to the output
問題是,格式的名稱通常是一個打開的文件句柄的名字,并寫語句將輸出發送到這個文件句柄。我們要發送的數據到stdout,我們必須聯合起來,并在輸出文件句柄的EMPLOYEE。首先,我們必須確保,STDOUT是我們的選擇的文件句柄,使用select()函數。
select(STDOUT);
然后,我們將通過設置新的格式名稱STDOUT與STDOUT關聯EMPLOYEE,使用特殊的變量$?。
$~ = "EMPLOYEE";
我們現在做的一個write()時,數據將發送給STDOUT。請記住:如果你沒有STDOUT設置為默認的文件句柄,你可以恢復到原來的文件句柄分配的返回值,選擇一個標量值,使用選擇這個標量變量的特殊變量后,被指定的格式命名,名稱相關聯STDOUT。
上面的例子會產生一個報告按以下格式:
Kirsten ? ? ? ? ? ? ?12
? ?Mohammad ? ? ? ? ? ? 35
? ?Suhi ? ? ? ? ? ? ? ? 15
? ?Namrat ? ? ? ? ? ? ? 10
定義報表表頭
一切都看起來很好。但是,如果你想在報告中添加一個頭。這頭將被打印在每個頁面的頂部。它也非常簡單的做到這一點。除了自定義一個模板,你必須定義一個報頭,它具有相同的名稱,但附加_TOP關鍵字如下:
?format EMPLOYEE_TOP =
? ?------------------------
? ?Name ? ? ? ? ? ? ? ? Age
? ?------------------------
? ?.
? ?# by www.yiibai.com
現在,您的報告將看起來像:
------------------------
? ?Name ? ? ? ? ? ? ? ? Age
? ?------------------------
? ?Kirsten ? ? ? ? ? ? ?12
? ?Mohammad ? ? ? ? ? ? 35
? ?Suhi ? ? ? ? ? ? ? ? 15
? ?Namrat ? ? ? ? ? ? ? 10
在頁面上定義一個分頁的行數
如果您的報告采用超過一頁怎么辦?你有一個解決方案。使用$%報頭如下
format EMPLOYEE_TOP =
? ?------------------------
? ?Name ? ? ? ? ? ? ? ? Age ? Page @<
? ?------------------------ ? ? ? ?$%
? ?.
現在,您的輸出將類似于:
------------------------
? ?Name ? ? ? ? ? ? ? ? Age ? Page 1
? ?------------------------ ? ?
? ?Kirsten ? ? ? ? ? ? ?12
? ?Mohammad ? ? ? ? ? ? 35
? ?Suhi ? ? ? ? ? ? ? ? 15
? ?Namrat ? ? ? ? ? ? ? 10
您可以設置每頁的行數默認情況下使用特殊的變量$=($ FORMAT_LINES_PER_PAGE)$=60
定義報表頁腳
剩下最后要做一件事是頁腳,與報頭非常相似,你可以定義一個頁腳,它會被寫入后的每一頁。在這里,你會使用_BOTTOM關鍵字,而不是_TOP。
? ?format EMPLOYEE_BOTTOM =
? ?End of Page @<
? ? ? ? ? ? ? ?$%
? ?. #by www.yiibai.com
這會給你下面的結果:
------------------------
? ?Name ? ? ? ? ? ? ? ? Age ? Page 1
? ?------------------------ ? ?
? ?Kirsten ? ? ? ? ? ? ?12
? ?Mohammad ? ? ? ? ? ? 35
? ?Suhi ? ? ? ? ? ? ? ? 15
? ?Namrat ? ? ? ? ? ? ? 10
? ?End of Page 1
對于一個完整的一套相關的格式化的變量,請參考 Perl特殊變量部分。
======== 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
- 上一篇: 动态CSS - LESS学习总结
- 下一篇: win32 调试 API 学习总结