[精讚] [會員登入]
5065

[PERL] 01-撰寫第一隻PERL程式

PERL的系列教學文,適合有其他程式經驗但沒學過PERL的人

此文完整連結 http://n.sfs.tw/11649

複製連結 [PERL] 01-撰寫第一隻PERL程式@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 10:16:01 最後編修
2017-08-19 12:40:47 By 張○○
 

自動目錄

PERL這個系列我準備寫一些基本的文件,用簡單的內容寫出來,主要是寫給完全沒學過PERL或有學過但不是很熟的人一些參考,因此我把太複雜的內容挑掉,只寫清楚簡單的。參考的書目主要有兩本[3][4](在本篇的最下面),像PERL的聖經o'reilly的駱駝書我覺得對初學者來說是太難了,反而不太適合。

預計分為25個單元,由於寫文件很花時間,我只能慢慢完成:

01-撰寫第一隻PERL程式(目錄)
02-註解、變數和常數
03-條件式判斷
04-基本比對
05-運算子#1
06-運算子#2
07-陣列 #1 -- 基本
08-陣列 #2 -- 操作
09-迴圈
10-雜湊
11-雜湊的範例
12-副程式
13-變數的視界
14-進階比對#1--取回比對內容
15-進階比對#2--使用更多修飾子
16-字串取代和置換
17-參照
18-套件及模組
19-模組的安裝和維護
20-檔案目錄處理
21-使用資料庫
22-日期和時間
23-多執行緒
24-呼叫系統程式
25-通訊和網路

接下來開始本文部分,首先要建立PERL環境

環境建立

[CentOS LINUX]

大部分的 linux 原生就已有安裝 perl,不必再額外安裝,或下指令安裝

# yum install perl

[FREEBSD]

Freebsd原生就已有安裝 perl,不必再額外安裝,或下指令安裝

# cd /usr/ports/lang/perl5.xx
# make install clean

  上面的xx是版本號

[WINDOWS]

windows 可選擇使用ActiveState Perl(檔案小,支援到5.24版)或Strawberry Perl[1](檔案大,支援到5.26版),依步驟安裝即可

# yum install perl

PERL最隨執行的環境是unix-like的系統。

安裝時這兩項要勾,把你的PERL自動加入PATH中

[MAC IOS]

原生就已有安裝 perl,不必再額外安裝

第一隻程式

perl的第一隻程式很簡單,,就印一個 HELLO WORLD,用編輯器建一檔案 hello.pl,PERL的附檔名是 .pl

print "HELLO WORLD";

指令的最後要有一個分號";",存檔

執行

執行方式很簡單,只要用 perl這隻程式是執行即可,PERL是執行時及編譯的程式語言,除了第一次執行要花編譯時間外,效能其實很高。

[Centos/Freebsd/Mac]

$ perl hello.pl

這裡的 hello.pl權限只供讀取,如果要讓它變成獨立可執行的程式,得修改權限:

$ chmod 711 hello.pl

接下來在每隻程式的第一行加上#!/usr/bin/perl -w

#!/usr/bin/perl -w
print "HELLO WORLD";

其中 -w 是代表打開 warning 模式,如此就會提供更多警告的資訊

而 /usr/bin/perl 是你perl的路徑,如果是FREEBSD,第一行要改成

#!/usr/local/bin/perl -w

接下來就能直接執行

$ ./hello.pl

[Windows]

到DOS中,到你的目錄並執行

C:\Users\user>cd Documents

C:\Users\user\Documents>perl hello.pl
HELLO WORLD

不要這麼麻煩的話,因為 Windows會替附檔名pl建立關聯,所以也可以直接執行

C:\Users\user\Documents>hello.pl
HELLO WORLD

如果你的顯示'PERL'不是內部或外部命令,代表他找不到執行檔,請確定你有安裝成功,並把他加到Windows的環境變數 PATH之中

PERL的線上說明文件

perldoc是PERL的線上說明書,在伺服器中下指令即可立即查看指令使用說明,例如

$ perldoc -f qw

    qw/STRING/
            Evaluates to a list of the words extracted out of STRING, using
            embedded whitespace as the word delimiters. It can be understood
            as being roughly equivalent to:

                split(" ", q/STRING/);

    ...以下省略...

恭禧你完成了第一步。

下一篇 02-註解、變數和常數

參考資料

[1] perl in Windows http://perlsky.blogspot.tw/2012/06/perl-hello-world.html

[2] 安裝 perl https://learn.perl.org/installing/

[3] 結城浩 Perl 程式設計入門與應用 博碩文化 2001.9

[4]Larry Wall 等人 Perl程式設計 第三版 O'REILLY 2005

你可能感興趣的文章

[PERL] 20- 檔案目錄處理 PERL寫入和讀出檔案

[PERL] 取得字串長度 使用length來取得字串長度

PERL一次讀取檔案所有內容的方法($/) perl可以使用slurp mode一次讀完檔案所有內容的方法及一些範例

[PERL] 07-陣列 #1 -- 基本 perl的陣列

[PERL] 14-進階比對 #1--取回比對內容 perl的正規表達式進階比對

[PERL] Regex 字元集(群組) 幾個Perl在regular express會用到的特殊符號notation:字元集

[PERL] 檢查IP是否在某個網段內:matchcidr 檢查IP是否在某個網段內 matchcidr in perl

[PERL] 22-日期和時間 Perl 取得日期時間的方法整理,使用 localtime等多種函數

自行撰寫syslog server建立資訊安全控管中心#3 -- 程式下載和安裝 利用PERL將syslog收攏到資料庫的程式,程式下載和安裝

[PERL] 13- 變數的視界 Perl 的副程式就是所謂的函數

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[Freebsd] 定時測試 ADSL 是否斷線並重連 中華電信 ADSL 雖有固定 ip,可是他卻會不定時「斷線」, 使用以下的 方法可以定時測試是否斷線,以及重新撥接。

設計的工作絕不接受比價 拿買陽春麵的價格想買牛肉麵,寧願倒掉也不賣

[Wildfly10] 發佈war檔 deploy war file onto wildfly10

讓radio box 或checkbox 好按 在行動裝置下,radio box及checkbox變得很難按得到

超扯童話血多-賣火柴小女孩 這個真的是太扯了,扯到一直笑,尤其是作者出來那段 因為他第一到第九會連播,笑滿累的。如果你看不懂的話表示你的大腦還滿正經