2015/6/27T.B. Chen1 Using PERL 1.PERL 的簡介 2.PERL 的資料型態 3.PERL 的運算子 4. 控制結構與陳述式 5. 副程式 6. 檔案 I/O 與參考指標 7. 常規表示式.

Slides:



Advertisements
Similar presentations
1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
Advertisements

Divide-and-Conquer. 什麼是 divide-and-conquer ? Divide 就是把問題分割 Conquer 則是把答案結合起來.
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
Introduction to Java Programming Lecture 13 Classes I OO Programming.
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
如何將數字變成可用之資訊 現代化資料處理與應用概念. 如何將數字變成可用之資訊 人最容易接受的訊息是圖像化資訊。 在一堆數字中,要進行比較分析,一般會使用表格形 式計算與分析。 所以一般我們會將數字依關聯性, 轉換成表格計算與分析。 此表格一般稱試算表或稱表格。 再將結果轉換為圖表,進行比較與分析。
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
第 13 章 常數、靜態成員與朋友關 係 13-1 常數物件與成員 13-1 常數物件與成員 13-2 物件成員與巢狀類別 13-2 物件成員與巢狀類別 13-3 靜態成員資料與函數 13-3 靜態成員資料與函數 13-4 朋友關係 13-4 朋友關係.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
第三章 變數與繫結 陳維魁 博士 儒林圖書公司. 2 大綱  變數的定義  變數元件  儲存區配置問題  參考的透明性  完全計算  捷徑計算  繫結 (binding)  繫結時間  精選習題.
程式註解說明. 2 程式註解格式 塊狀註解 對檔案、 class 、 method 、資料結構、一段程式 …. 等程式區塊 做說明。 第一行的開頭必需為 “/*” 且沒有其他文字,最後一行的開頭 必需以 “*/” 做為結束,在中間每一行的開頭都必需是一個 “*” 。 單行註解 佔據一整行的說明。 以.
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
1 第十三章 Pascal 程式語言 陳維魁 博士 儒林圖書公司.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
網路與通訊 -- 實習課 PERL 程式設計.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
7 陣列與搜尋 7.1 陣列 一般資料變數 宣告一維陣列 起始一維陣列 7-4
Hung-Hsiang WuWindows Processing Design1 Chapter 3 基本觀念 變數宣告與型態 特殊運算子符號 字串與數值的轉換 類別與物件的觀念 建立新的專案 WinMain 程式進入點 Include Header File.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
Fourier Series. Jean Baptiste Joseph Fourier (French)(1763~1830)
Fugacity Coefficient and Fugacity
第 13 章 檔案與資料夾處理 13-1 檔案與資料夾操作 13-1 檔案與資料夾操作 13-2 循序檔案的文字檔案讀寫 13-2 循序檔案的文字檔案讀寫 13-3 隨機檔案的處理 13-3 隨機檔案的處理 13-4 二進位檔案的讀寫 13-4 二進位檔案的讀寫 13-5 檔案對話方塊 13-5 檔案對話方塊.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
4 堆疊與佇列 4.1 前言 四種基本的資料結構 (可儲存資料的容器) 陣列 (Array)、串列(List): 最基本
Management Abstracts Retrieval System; MARS 檢索操作.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
Windows Processing Design1 Chapter 1 C/C++ 概論 畫面輸出與鍵盤輸入 程式流程 程式流程的迴圈 函數的基礎 指標與陣列 字串 類別 利用 BCB 開發程式.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
第 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
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
網路介紹及其運用 講師陳炯勳. 5-2 IP 協定 ( 一 ) IP 協定運作 (1) – 網路成員:主機 (Host) 與路由器 (Router) – 路由表 – 電報傳輸運作.
: Help My Brother ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11033: Help My Brother 解題者: 呂明璁 解題日期: 2007 年 5 月 14 日.
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.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
Visual C++重點複習.
資料結構實習-六.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
C 語言練習題 2010/12/2. C 程式的格式 一、 C 程式的格式 (1). /* …. */ 是 C 程式的 ______ main() 的內容是由敘述構成的 (2). 敘述要以 __ 為結束符號 (3). 變數、函數都要做 ____ 的宣告 (4). ‘=’ 是 ____ 用的算符 (5).
第十三章 檔案. 檔案 I/O 的基本觀念 檔案 I/O 的流程 定義指向 FILE 結構的指標 開啟一檔案 呼叫檔案 I/O 庫存函數以進行檔案的處理 關閉檔案 FILE 結構 此結構宣告於 標頭檔中.
數字系統與資料表示法 教師: 陳炯勳 數系轉換 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 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
Mapping - 1 Mapping From ER Model to Relational DB.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
VHDL語法(3).
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
第 8 章 記憶體指標. 8.0 變數、數值、位址 8.1 指標與變數 對 C++ 語言而言,指標( pointers )是存放 變數或陣列的位址,因此也可以藉由指標 間接取得變數或陣列中的值。 對 C++ 語言而言,指標( pointers )是存放 變數或陣列的位址,因此也可以藉由指標 間接取得變數或陣列中的值。
Presentation transcript:

2015/6/27T.B. Chen1 Using PERL 1.PERL 的簡介 2.PERL 的資料型態 3.PERL 的運算子 4. 控制結構與陳述式 5. 副程式 6. 檔案 I/O 與參考指標 7. 常規表示式

2015/6/27T.B. Chen2 1.PERL 的簡介 1-1 PERL 的起源及特性 1-1 PERL 的起源及特性PERL 的起源及特性PERL 的起源及特性 1-2 安裝 WINDOWS 版的 PERL 1-2 安裝 WINDOWS 版的 PERL 安裝 WINDOWS 版的 PERL 安裝 WINDOWS 版的 PERL 1-3 執行 Perl script 1-3 執行 Perl script 執行 Perl script 執行 Perl script

2015/6/27T.B. Chen3 2.PERL 的資料型態 PERL 有二種資料型別 : 純量 (SCALAR) 與串列 (LIST) 純量 : $ : 純量變數 純量變數 串列 : 陣列 陣列 2.%: hash hash

2015/6/27T.B. Chen4 3.PERL 的運算子 1. 加 (+), 減 (-), 乘 (*), 除 (/) 2. 次方 (**). $a=$b**6 3.++,+=,--, 4.logical operator: &&, ||, not,or,xor 5. 逗號運算子 :, => 6. 位移 : >>, >,<< ( 只能用於 int 變量.) 7. 關連 : >, =,==,!= ( 數字 ) gt,lt,le,ge,eq,ne,cmp ( 文字 ) gt,lt,le,ge,eq,ne,cmp ( 文字 ) 8. 餘數 : %, 重複 :x

2015/6/27T.B. Chen5 4. 控制結構與陳述式 1. 條件陳述式 : 條件陳述式 : 條件陳述式 : if,unless, for, foreach, while, until, do, if,unless, for, foreach, while, until, do, continue. continue. 2. 迴圈控制 迴圈控制 next, last, redo,goto next, last, redo,goto

2015/6/27T.B. Chen6 5. 副程式 1. 副程式的宣告 副程式的宣告 2. 副程式的呼叫

2015/6/27T.B. Chen7 6. 檔案 I/O 與參考指標 1. 開啟檔案 ( 讀入 ): 語法 : 語法 : open FILEHANDLE, “<filename”; open FILEHANDLE, “<filename”; EX: EX: open IN, “<test.txt”; open IN, “<test.txt”; 開啟一個以 IN 為指標的讀入文件檔. 開啟一個以 IN 為指標的讀入文件檔.

2015/6/27T.B. Chen8 語法 : 語法 : open FILEHANDLE, “>filename”; open FILEHANDLE, “>filename”; EX: EX: open OUT, “>test.txt”; open OUT, “>test.txt”; 開啟一個以 OUT 為指標的寫出文件檔. 開啟一個以 OUT 為指標的寫出文件檔. 2. 開啟檔案 ( 寫出 ):

2015/6/27T.B. Chen9 3. 參考指標 : (1). PERL 內建 ARRAY 只有 1 維. 若需要用 2 維以上陣列必需使用 ” 參考指標 ”. 維以上陣列必需使用 ” 參考指標 ”. (2). 何謂參考指標 ? 即 : 將 Array 或 Hash 用 Scalar 代替. 即 : 將 Array 或 Hash 用 Scalar 代替. (3). 使用規則 : 使用 ”\” 符號宣告參考指標. 使用 ”\” 符號宣告參考指標. 變數 a 是 陣列 array 的參考指標. 變數 a 是 陣列 array 的參考指標. $a=\%hash; $a=\%hash; 變數 a 是 HASH hash 的參考指標. 變數 a 是 HASH hash 的參考指標.

2015/6/27T.B. Chen10 4. 實例演練 -1: print "Using reference make 2d array.\n"; print "Using reference make print $d[0][1]; print $d[0][1];

2015/6/27T.B. Chen11 實例演練 -2: print "\nOpen a text file.\n"; print "\nOpen a text file.\n"; open IN, "<data1.txt";#read a text file open IN, "<data1.txt";#read a text file store data store data enter keys enter keys close(IN); close(IN); print \n"; print \n"; 2d array 2d array #'$#' = length #'$#' = length for ($i = 0 ; $i <= $#raw ; $i++) { for ($i = 0 ; $i <= $#raw ; $i++) { = split(/\s/, $raw[$i]); = split(/\s/, $raw[$i]); #each line is a refence #each line is a refence } } print "Totl $i lines in the document.\n"; print "Totl $i lines in the document.\n"; print $ref[0][1]; print $ref[0][1]; print "\n"; print "\n";

2015/6/27T.B. Chen12 實例演練 -3 print "Open a Excel CSV file.\n"; print "Open a Excel CSV file.\n"; open IN1, "<dat3.csv";#read a Excel file.csv open IN1, "<dat3.csv";#read a Excel file.csv store data store data enter keys enter keys close(IN1); close(IN1); 2d hash 2d hash #'$#' = length #'$#' = length print "The first row=$line1\n"; print "The first $line1); $num=$#n; $num=$#n; print "Total coma = $num \n"; print "Total coma = $num \n"; for ($i = 0 ; $i <= $#raw1 ; $i++) { for ($i = 0 ; $i <= $#raw1 ; $i++) { = split(/,/, $raw1[$i]); = split(/,/, $raw1[$i]); print print #each line is a refence #each line is a refence } } print "Totl $i lines in the document.\n"; print "Totl $i lines in the document.\n"; print print print 'ref1[2][0]='.$ref1[2][0]."\n"; print 'ref1[2][0]='.$ref1[2][0]."\n"; print 'ref1[2][1]='.$ref1[2][1]."\n"; print 'ref1[2][1]='.$ref1[2][1]."\n"; print 'ref1[2][2]='.$ref1[2][2]."\n"; print 'ref1[2][2]='.$ref1[2][2]."\n"; print 'ref1[2][3]='.$ref1[2][3]."\n"; print 'ref1[2][3]='.$ref1[2][3]."\n"; print 'ref1[2][4]='.$ref1[2][4]."\n"; print 'ref1[2][4]='.$ref1[2][4]."\n"; print 'ref1[2][4]='.$ref1[2][5]."\n"; print 'ref1[2][4]='.$ref1[2][5]."\n";

2015/6/27T.B. Chen13 實例演練 -4: print "\n delete elements from array!\n"; print "\n delete elements from array!\n"; print 'Before splice: $ref1[0][0]='.$ref1[0][0]."\n"; print 'Before splice: $ref1[0][0]='.$ref1[0][0]."\n"; # using splice Array,Offset. # using splice Array,Offset. print 'After splice: $ref1[0][0]='.$ref1[0][0]."\n"; print 'After splice: $ref1[0][0]='.$ref1[0][0]."\n"; # Write to file # Write to file print "Output to a file.\n"; print "Output to a file.\n"; open(out1,">out1.txt"); open(out1,">out1.txt"); for ($i = 0 ; $i < $#raw1 ; $i++) { for ($i = 0 ; $i < $#raw1 ; $i++) { for ($j = 0 ; $j <=$num ; $j++) { for ($j = 0 ; $j <=$num ; $j++) { print out1 $ref1[$i][$j]."\t"; print out1 $ref1[$i][$j]."\t"; } print out1 "\n"; print out1 "\n"; } } close(out1); close(out1); __END__ __END__

2015/6/27T.B. Chen14 7. 常規表示式 : PERL 處理文字的能力特別強. 當進行文字樣式 比對、取代,常規表示式提供簡單的語法進行 愎雜的字串比對工作. PERL 處理文字的能力特別強. 當進行文字樣式 比對、取代,常規表示式提供簡單的語法進行 愎雜的字串比對工作. 例 : $str=~m/Perl/; 這是一種常規表示式. 例 : $str=~m/Perl/; 這是一種常規表示式. 運算子 : 運算子 : 符合 : m/Pattern/=m{Pattern}=m[Pattern]=m 符合 : m/Pattern/=m{Pattern}=m[Pattern]=m 取代 : s/Pattern/Replacement/ 取代 : s/Pattern/Replacement/ 轉換 : tr/Pattern/Replacement/ 只能做用在 Scalar. 轉換 : tr/Pattern/Replacement/ 只能做用在 Scalar.

2015/6/27T.B. Chen15 常規表示式 : 使用符合運算 $str=~m/pattern/modifier $str=~m/pattern/modifier 上式說明 : 從 $str 中依照 modifier 樣式找出 符合 pattern 的所有字串. 其中 =~ 代表 match, 而 !~ 代表 not match. 上式說明 : 從 $str 中依照 modifier 樣式找出 符合 pattern 的所有字串. 其中 =~ 代表 match, 而 !~ 代表 not match. Modifier: 符合運算的修正字元 Modifier: 符合運算的修正字元 符合運算的修正字元

2015/6/27T.B. Chen16 常規表示式 : 使用取代運算 $str=~s/pattern/replacement/modifier $str=~s/pattern/replacement/modifier 上式說明 : 從 $str 中依照 modifier 樣式找出 符合 pattern 的所有字串, 並用 replacement 取代. 上式說明 : 從 $str 中依照 modifier 樣式找出 符合 pattern 的所有字串, 並用 replacement 取代. Modifier: 取代運算的修正字元 Modifier: 取代運算的修正字元 取代運算的修正字元

2015/6/27T.B. Chen17 常規表示式 : 使用轉換運算 $str=~tr/pattern/replacement/modifier $str=~tr/pattern/replacement/modifier 上式說明 : 從 $str 中依照 modifier 樣式找出 符合 pattern 的所有字串, 並用 replacement 取代. 但只能做用在 Scalar 上. 上式說明 : 從 $str 中依照 modifier 樣式找出 符合 pattern 的所有字串, 並用 replacement 取代. 但只能做用在 Scalar 上. Modifier: 轉換運算的修正字元 Modifier: 轉換運算的修正字元 轉換運算的修正字元

2015/6/27T.B. Chen18 常規表示式的元素 例子 : 例子 : $num=$str=~m/^pattern|\t|\s//g; $num=$str=~m/^pattern|\t|\s//g; ($num=$str)=~m/^pattern|\t|\s//g; ($num=$str)=~m/^pattern|\t|\s//g; // : 表示分界元.( 也可以使用 {},,[ ] 當分界元.) // : 表示分界元.( 也可以使用 {},,[ ] 當分界元.) =~: 表示 match. !~ 代表 not match. =~: 表示 match. !~ 代表 not match. ^ : 表示從字串開頭比對. ^ : 表示從字串開頭比對. | : 代表 OR. | : 代表 OR. \t : 代表 TAB, \s 代表空白. \t : 代表 TAB, \s 代表空白. ($num=$str): 表示 $num=$str. ($num=$str): 表示 $num=$str. $num=$str : 表示將符合次數存於 $num 中. $num=$str : 表示將符合次數存於 $num 中.