Perl 程式設計教學:撰寫第一個 Perl 程式

【分享本文】
Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

    前言

    Perl 程式有兩種執行方式:

    • 撰寫 Perl 命令稿後,執行該命令稿
    • 從命令列直接執行 Perl 程式 (即 Perl one-liner)

    第一種方式是大部分高階直譯語言都會採用的方式,但第二種方式則相對較少,由於 Perl 兩者兼具,故筆者認為 Perl 做為一個命令列工具仍然有其一定的價值。

    在本文中,我們會用這兩種方式各寫一個 Hello World 程式,以熟悉撰寫 Perl 程式的方式。

    確認目前使用的 Perl 版本

    使用 perl --version 指令可確認目前使用的 Perl 版本,如下例:

    C:\> perl --version
    
    This is perl 5, version 26, subversion 1 (v5.26.1) built for MSWin32-x64-multi-thread
    (with 1 registered patch, see perl -V for more detail)
    
    Copyright 1987-2017, Larry Wall
    
    (省略一些訊息)
    

    如果跑出 command not found 之類的錯誤訊息,代表 Perl 沒有安裝成功。若系統上沒有 Perl,請確認是否有安裝,或是 PATH 設置是否正確。

    使用命令稿寫 Hello World 程式

    Hello World 程式是用來熟悉開發流程的經典範例,原見於經典的 The C Programming Language ,此處撰寫 Perl 的版本。

    使用編輯器撰寫 hello.pl 程式,加入以下程式碼:

    print "Hello World\n";
    

    不用在意程式的細節,我們只是要確認程式可執行。

    使用以下指令來執行該命令稿:

    $ perl hello.pl
    Hello World
    

    若出現 Hello World 訊息,代表程式執行成功;若沒有執行成功,需自行根據錯誤訊息來除錯。

    如果讀者使用類 Unix 系統,可以把 Perl 命令稿改裝成命令列程式。略為修改一下 hello.pl 的內容:

    #!/usr/bin/env perl
    
    print "Hello World\n";
    

    我們額外加入的一行稱為 she bang。對 Perl 來說,該行只是註解,但類 Unix 系統會根據該行的內容啟動該行所指定的直譯器。以本例來說,就是啟動 Perl。

    把該命令稿加上可執行的權限:

    $ chmod +x hello.pl
    

    執行該命令稿:

    $ ./hello.pl
    Hello World
    

    這裡有用到類 Unix 系統的特性,在 Windows 上則無法使用這個方法。

    使用命令列即時撰寫 Hello World 程式

    以下是直接使用命令列撰寫 Hello World 程式的版本:

    $ perl -e 'print "Hello World\n";'
    Hello World
    

    在 Windows 則要稍微修改一下:

    C:\> perl -e "print \"Hello World\n\";"
    Hello World
    

    這是因為 CMD 環境的字串只能用雙引號括起來的緣故,所以在 Windows 寫 Perl one-liner 會稍微麻煩一點。

    Perl one-liner 有許多使用方式,國外也出過一些相關的專書。Perl one-liner 主要是用在命令列上即時輸入一些短小的 Perl 程式,如果發現 Perl one-liner 可能會很長時,最好就轉成命令稿的形式來寫。

    線上執行 Perl 程式

    以下是一些可透過瀏覽器執行 Perl 程式的線上平台:

    這些平台當然無法取代真正的開發環境,但可用在學習 Perl 基本語法。

    【分享本文】
    Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email
    【追蹤新文章】
    Facebook Twitter Plurk