# Init plenv
if which plenv > /dev/null;
eval "$(plenv init -)"
建議也一併安裝 perl-build,之後可將安裝流程自動化:
$ git clone https://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/
使用符合 ANSI C 標準的 C 編譯器即可編譯 Perl 原始碼,Perl 原始碼中似乎沒有提到 Perl 額外相依什麼函式庫。在 Unix 上大部分是使用 GCC。
編譯及安裝的指令如下:
$ plenv install 5.26.2
編譯會稍微花一點點時間,在筆者的電腦上,大約是數分鐘左右。
使用 plenv versions 可檢查 plenv 中安裝的 Perl 版本:
$ plenv versions
* system (set by /home/user/.plenv/version)
5.26.2
使用 plenv global 可指定終端機下使用的 Perl 版本:
$ plenv global 5.26.2
如果某個專案需要指定 Perl 版本,可用 plenv local 來指定,在該資料夾會額外出現 .perl-version 設定檔。
由於 plenv local 的優先等級會比 plenv global 來得高,這時候該專案的 Perl 版本就會固定下來,不會受到 plenv global 的影響。參考指令如下:
$ plenv local 5.26.2
如果要移除專案中的 plenv local 設定,可參考以下指令:
$ plenv local --unset
安裝 C 和 C++ 編譯環境
有許多 Perl 延伸模組內部實際上用 C (少數用 C++) 實作,再加上 Perl 連結 (binding),如果要編譯這些延伸套件,就要安裝 C 和 C++ 編譯環境。本節針對不同平台來討論。
Windows
Windows 平台沒有預裝的 C (或 C++) 編譯器,造成每個高階語言的社群都要自已想辦法,一般都是採用 Visual C++ 或 MinGW (註) 兩者之一。Perl 社群採用後者。
註:GCC 在 Windows 上的移植品
雖然 PPM 上有維護一個 MinGW 套件,但筆者通常不採用這個版本。雖然 Strawberry Perl 會附帶 GCC 和一些常見函式庫,建議使用 MSYS2 所提供的 MinGW 和一些 C 函式庫。這是對應 Windows 設計上的一些議題所採取的動作。
想了解 MSYS2 可參考這篇文章。
類 Unix 系統上通常都會有 GCC (或 Clang)。若沒有,安裝也相當簡單。
在 Debian/Ubuntu/Linux Mint 上安裝 GCC 及相關開發工具的指令如下:
$ sudo apt-get install build-essential
在 Red Hat/CentOS/Fedora 上安裝 GCC 及相關開發工具的指令如下:
$ sudo yum groupinstall "Development Tools"
在 macOS 上,則裝 Command Line Tools for Xcode 即可。
安裝 Perl 社群套件 (Module)
除了內建的套件,Perl 有著豐富的社群套件,這些社群套件大大地延展了 Perl 的功能。
原本 Perl 社群用 cpan 來安裝 Perl 套件,但 cpan 在初次使用的設定較為繁複,後來出現 cpanm,這是一套新的 Perl 套件管理軟體,基本上可以取代原本的 cpan。至於先前提到的 PPM 是 ActiveState 自行開發和維護的,不是原本 Perl 社群的套件管理軟體。
Windows
Strawberry 按照 Unix 社群的慣例,安裝套件時會從頭開始編譯。所以需要安裝 MSYS2 來提供 C 編譯器及相依的 C 函式庫。
使用 cpan 來安裝 Perl 套件。像是以下例子:
> cpan Moo
如果讀者有使用 plenv 管理 Perl 版本的話,只要一行指令就可以安裝 cpanm:
$ plenv install-cpanm
接著,就可以用 cpanm 安裝其他 Perl 套件:
$ cpanm Moo
支援 Perl 的編輯器 (Editor)
由於我們使用 Perl 的目標是撰寫小型命令稿,而不是開發中大型應用程式,不需要用到 IDE 這類龐大的軟體,使用編輯器 (editor) 就可以了。以下是一些常見的選項:
Sublime Text
VSCode (Visual Studio Code)
Nodepad++ (Windows 限定)
Vim (較難上手)
Emacs (較難上手)
筆者目前使用 VSCode 為主,因為 VSCode 跨平台,減少重覆學習編輯器的時間,又有豐富的外掛。讀者可選用自己喜歡的編輯器。
檢查 Perl 的版本號 (Version)
使用 perl --version 指令即可檢查系統上的 Perl 的版本號。像是以下實例:
$ perl --version
This is perl 5, version 38, subversion 2 (v5.38.2) built for darwin-thread-multi-2level
(省略一些文字)
位元詩人 (ByteBard) 是資訊領域碩士,喜歡用開源技術來解決各式各樣的問題。這類技術跨平台、重用性高、技術生命長。
除了開源技術以外,位元詩人喜歡日本料理和黑咖啡,會一些日文,有時會自助旅行。
前言安裝 Perl安裝 C 和 C++ 編譯環境安裝 Perl 社群套件 (Module)支援 Perl 的編輯器 (Editor)檢查 Perl 的版本號 (Version)