網路與通訊 -- 實習課 PERL 程式設計.

Slides:



Advertisements
Similar presentations
FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Advertisements

1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
Divide-and-Conquer. 什麼是 divide-and-conquer ? Divide 就是把問題分割 Conquer 則是把答案結合起來.
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
3Com Switch 4500 切VLAN教學.
BY OX. 檢視表與資料表的差異性 查詢 (query) 檢視表 (View) 的紀錄,是經由查詢 (query) 而來,而檢 視表的資料來源可以是單一資料表或是多資料表,甚 至其他檢視表 但檢視表中的紀錄只存在資料表中.
在 Ad-hoc 網路中實現點對 點發送訊息與廣播訊息. 檔案下載  範例程式可在下列網址取得  DEMO 程式可在下列網址取得
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
:New Land ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11871: New Land 解題者:施博修 解題日期: 2011 年 6 月 8 日 題意:國王有一個懶兒子,為了勞動兒子,他想了一個 辦法,令他在某天早上開始走路,直到太陽下山前,靠.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
Structural Equation Modeling Chapter 7 觀察變數路徑分析=路徑分析 觀察變數路徑分析.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
第三章 變數與繫結 陳維魁 博士 儒林圖書公司. 2 大綱  變數的定義  變數元件  儲存區配置問題  參考的透明性  完全計算  捷徑計算  繫結 (binding)  繫結時間  精選習題.
第 7 章 程序與函數 7-1 模組化程式設計 7-1 模組化程式設計 7-2 VB.NET 的程序與函數 7-2 VB.NET 的程序與函數 7-3 程序與函數的變數範圍 7-3 程序與函數的變數範圍 7-4 VB.NET 常用的內建函數 7-4 VB.NET 常用的內建函數 7-5 遞迴函數 7-5.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
7 陣列與搜尋 7.1 陣列 一般資料變數 宣告一維陣列 起始一維陣列 7-4
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
1 Netlibrary 電子書 Netlibrary 創始於 1998 年,是世界知名的電子書資 料庫,提供 450 多家出版社所出版近 100,962 ( 止)本的電子書,且以每月 2,000 本的 速度增加中。其中 80% 屬於學術性圖書,其餘 20% 一般圖書, 90% 以上為.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
Management Abstracts Retrieval System; MARS 檢索操作.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Chapter 10 m-way 搜尋樹與B-Tree
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
What is Computer.
2015/6/27T.B. Chen1 Using PERL 1.PERL 的簡介 2.PERL 的資料型態 3.PERL 的運算子 4. 控制結構與陳述式 5. 副程式 6. 檔案 I/O 與參考指標 7. 常規表示式.
本章重點 2-1 有序串列(Ordered List) 2-2 介紹陣列(array) 2-3 矩陣(matrix)的應用
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
Chapter 11 檔案系統、目錄、DOS 指令.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
INTRODUCTION TO MATLAB SHAWNNTOU. What Is MATLAB? MATLAB® is a high-performance language for technical computing. MATLAB® is a high-performance language.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出迴圈 6-5 跳出迴圈 6-6 VB.NET 的錯誤處理 6-6 VB.NET.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
Visual C++重點複習.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
數字系統與資料表示法 教師: 陳炯勳 數系轉換 r進制數字 稱為 base r或 radix r 有r個計數符號,計數順序逢r歸零(進位) A n A n - 1 ‥‥A 2 A 1 A 0 ﹒A -1 A -2 ‥‥A -m 其中A n 及A.
Microsoft Excel.
第8章 字串與陣列 8-1一維陣列的處理 8-2 字串處理 8-3 多維陣列的處理 8-4 動態陣列與參數傳遞 8-5 陣列排序與搜尋.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
遠端北風資料庫 公佈時間: 2006/4/26 繳交截止時間: 2006/5/10. 作業目的 實作遠端資料庫瀏覽程式.
Presentation transcript:

網路與通訊 -- 實習課 PERL 程式設計

PERL 使用環境的建立 Windows 的使用環境建立 編輯軟體 PERL 的編譯器 記事本 Ultra editor Power Builder PERL 的編譯器 ActivePERL http://www.activestate.com

PERL 簡介 Perl Perl 可以做什麼呢? Practical Extraction and Report Language 實務操作抽取與報告語言 Perl 可以做什麼呢? 系統管理、網站設計、資料庫處理、文件處理、圖型使用介面、電腦病毒防治、垃圾郵件防堵、駭客入侵、網路程式設計(FTP/Webmail/Mail/DNS....)等等

PERL 程式的執行 命令提示字元底下 Demo (hello2.pl) 切換到 PERL 檔案存放的工作目錄 執行 “perl 檔案名稱” perl hello.pl 加上 –w 的參數可以顯示警告訊息 perl -w hello.pl Demo (hello2.pl)

對 PERL 的基本認識 區分大小寫 註解使用方式 DEMO (hello3.pl) 變數名稱、函數名稱 註解符號 # 一次只能註解一行 特別用法 __END__ 表示整份程式執行到這裡就算結束了 DEMO (hello3.pl)

PERL 的變數型態 變數名稱 純量變數 (Scalar) 陣列變數 (Array) 雜湊變數 (Hash) 第一個字元一定是英文字或底線( _ ) 變數不需要宣告立即可以使用 純量變數 (Scalar) 變數名稱前加上 $ 字元 陣列變數 (Array) 變數名稱前加上 @ 字元 雜湊變數 (Hash) 變數名稱前加上 % 字元

PERL 陣列的使用 假設變數名稱為 aryTest 變數名稱前加上 @ 符號 陣列起始索引值為 0 陣列長度可自由變動 pop、push:從陣列尾端刪除、新增資料 shift、unshift :從陣列前頭刪除、新增資料 Demo (array.pl)

Perl 雜湊的使用 雜湊是由 Key 和 Value 所組成的一組資料 假設變數名稱為 hashTest 變數名稱前加上 % 符號 雜湊的處理 keys、values、each、exists、delete Demo (hash.pl)

元素值的取用 陣列變數 雜湊變數 Demo (getElement.pl) 格式:$陣列名稱[索引值] 範例:$aryTest[0], $aryTest[1], … 雜湊變數 格式:$雜湊名稱{鍵值} 範例:$hashTest{key value} Demo (getElement.pl)

PERL 的資料型態 數值型態 整數 浮點數 八進位數 (以 0 開頭) 十六進位數 (以 0x 開頭) 二進位數 (以 0b 開頭) 1, 0, -1, 37999 浮點數 3.1415, 4.00, 1.96E24, -3.2E-18 八進位數 (以 0 開頭) 012 (為十進位的 10) 十六進位數 (以 0x 開頭) 0x12 (為十進位的 18) 二進位數 (以 0b 開頭) 0b110 (為十進位的 6)

PERL 的資料型態 非數值型態 字串 null 字串是以雙引號或單引號括起來 雙引號和單引號的差別 在單引號中,跳脫符號沒有功用 在單引號中,無法做變數代換 Demo (string.pl) null

PERL 資料的操作 數值 非數值 Demo (dataOper.pl) 加(+)、減(-)、乘(*)、除(/) 餘數除法(%)、乘冪(**) 非數值 字串的合併:點( . )這個符號 字串的重覆:x 這個符號 Demo (dataOper.pl)

PERL 的函數 函數格式 函數呼叫 函數名稱規則和變數名稱規則一樣 sub function_name { statement … } &function_name([arg1[, arg2[, …]]]);

PERL 的函數 (續) 參數的取得 利用 shift 指令 Demo (function.pl)

PERL 的函數 – 遞迴呼叫 (Recursive Call) 函數呼叫函數,而且最後一個函數又呼叫到一開始呼叫的函數,稱之為遞迴呼叫。 假設有函數 f1, f2, f3;f1 呼叫 f2,f2 呼叫 f3,f3 又呼叫到 f1。 外部遞迴 呼叫外部函數,最後又呼叫到自己,如上一個例子 內部遞迴 函數呼叫函數本身 如函數 f1,在 f1 函數中有一行是呼叫到 f1 遞迴呼叫一定要有終止遞迴的條件

PERL 練習作業 印出下列圖形 注意事項 作業禁止抄襲 (抄襲與被抄襲者成績都要被打折) 程式中所用到的技巧越多,加分越多 如:使用到遞迴、印出星星的深度可由呼叫者自由設定等 * *** ***** ******* ** ****

PERL 的檔案處理 使用到的函數指令 檔案開啟 open、sysopen、close、<> 使用open指令 常用格式:oepn (File_Handle, Expression); 範例: open(INPUT, “< list.txt”); # 唯讀模式 open(INPUT, “+< list.txt”); #讀寫模式 open(OUTPUT, “> list.txt”); # 寫入模式 … Demo (fileOper_read.pl)

PERL 的檔案處理 (續) 檔案開啟 使用 sysopen 指令 格式: Open_mode:檔案開啟的模式 參考網址 sysopen (File_Handle, Filename, Open_mode, Permission_mode); Open_mode:檔案開啟的模式 O_RDONLY => 唯讀 O_WRONLY => 唯寫 O_RDWR => 可讀可寫 O_APPEND => 增加資料到檔案尾端 … 參考網址 http://www.fanqiang.com/a4/b3/20011227/07100020_b.html

PERL 的檔案處理 (續) 檔案開啟 使用 sysopen 指令 Permission_mode 這個參數適用在 UNIX 的主機上 範例:0600 使用 sysopen 指令前一定要宣告所使用的程式庫 use Fcntl; Demo (fileOper_read_sysopen.pl)

PERL 的檔案處理 (續) 檔案關閉 檔案讀取 使用 close 指令 格式:close(File_Handle); 使用 <> 指令 格式:@lines = <File_Handle> 因為會直接回傳所有的檔案資料,要用陣列承接

PERL 的檔案處理 (續) 檔案寫入 使用 print 指令 格式:print File_Handle Data Demo (fileOper_write.pl)

PERL 的正規表示法 - Regular Expression 是由字元組成的樣式(Pattern),用來比對資料,看看究竟符合或不符合這個樣式,然後可做進一步的處理。 樣式是由字元集所組成的 常用的字元集定義 . 代表任意字元,但不包括換行字元 \n * 代表比對成功的次數是 0 或 0 次以上 + 代表比對成功的次數是 1 或 1 次以上 ? 代表比對成功的次數是 0 或 1 次

PERL 的正規表示法 - Regular Expression (續) 樣式是由字元集所組成的 常用的字元集定義 ^ 代表字串開頭 $ 代表字串結尾 \ 將其後的字元跳脫,使其回歸原字元的涵義 如:\\ , \. , \@ , \? , \* | 樣式中的 或 ( ) 群集 [ ] 字元類別 參考網址 http://www.perldoc.com/perl5.8.0/pod/perlre.html

PERL 的正規表示法 - Regular Expression (續) 樣式比對 (Pattern Match) 格式:m/Pattern/[修飾子]    (簡寫成 /Pattern/[修飾子]) 修飾子 i 不計大小寫 m 視字串為多列 o 只編譯一次,以加快迴圈處理速度 s 當含有換列符號時,仍視為一列 x 允許含有註解,並忽略空白 g 全域比對

PERL 的正規表示法 - Regular Expression (續) 樣式比對 (Pattern Match) 使用的指令 =~ 表示比對符合 !~ 表示比對不符合 $& 代表最後一次成功比對的字串 $` 代表比對到的字串之前半段所有字串 $’代表比對到的字串之後半段所有字串 Demo (regular_match.pl)

PERL 的正規表示法 - Regular Expression (續) 樣式取代 (Pattern Substitution) 格式:s/Pattern/New String/[修飾子] 修飾子: 樣式比對中的修飾子都可在此使用 e 代表將欲置換的字串視為一運算式 Demo (regular_substitution.pl)

PERL 的正規表示法 - Regular Expression (續) 樣式轉換 (Pattern Transfer) 格式:tr/Pattern/New String/[修飾子] 修飾子: d 刪除字元 c 將不在指定字元集中的字元(包括換行字元) 換成欲轉換的字元集 s 將重覆字元刪除 Demo (regular_transfer.pl)