Perl入門ゼミ - Perlを0から学べる無料テキスト

Perlプログラミングを学びたい人向けのPerl入門講座です。

Perlテキスト処理に最適化されたプログラミング言語です。Linuxシステム管理Web開発という分野でも大活躍。後方互換、ライブラリの安定性、数多くのOSサポートに定評があります。

Perl入門

Perlリファレンス

Perl中級者への道

Web開発

20180626081940

「サンプルコードPerl入門」は「Perl入門ゼミ」に名称を変更しました

「サンプルコードPerl入門」は「Perl入門ゼミ」に名称を変更します。

去年お伝えしておいた通り2019年1月より名称変更になりました。

もともとは、Perlのサンプルがたくさんあれば、コピペして、そのまま使えるから便利だなという目的で始めたサイトでした。

問題の一つは、名前が言いづらかったことと長かったことです。

最初の記事は、2008年1月に投稿していますが、心機一転、11年目にして、名称変更になります。

公式サイトは、3か月以内くらいに仮公開しようかなと思っています。

公式サイト名は「Perlゼミ」になります。Twitterの名称も「Perlゼミ」。

このサイト名は「Perl入門ゼミ」で、Perlの無料テキストを公開するサイトになります。

の三本立てて運営していくので、今年からもよろしくお願いします。

Mojoliciousのホームディレクトリを変更する



  1. Perl




  2. Mojolicious


Mojoliciousのホームディレクトリを変更するには「MOJO_HOME」環境変数を使用します。

BEGIN {
  $ENV{MOJO_HOME} = '/foo/bar';
}
use Mojolicious::Lite;

Mojolicious::Liteを読み込む前に設定しましょう。

あるいは、あらかじめ環境変数をシェルから設定してください。

export MOJO_HOME=/foo/bar

Perlのインストール方法 - Windws、macOS、Linux対応



  1. Perl



  2. here

Perlのインストール方法を解説します。Windws、macOSLinuxでそれぞれPerlのインストール方法を紹介します。

  1. WindowsにおけるPerlのインストール
  2. macOSにおけるPerlのインストール
  3. Unix/LinuxにおけるPerlのインストール

WindowsにおけるPerlのインストール

PerlUnix/Linux生まれの言語ですが、Windowsを使っている人も簡単にPerlをインストールすることができます。3種類の方法を紹介します。

Strawberry Perlのインストール

Strawberry Perl(ストロベリーパール)は、WindowsPerlを使えるように設定されたPerlのひとつです。Linux環境に近い形でPerlが利用できるので、まずはこれがお勧めです。

Strawberry Perl(ストロベリーパール)をWindowsにインストールする

ActivePerlのインストール

ActivePerlも、WindowsPerlを使えるように設定されたPerlのひとつです。ExcelなどのWindowsアプリと連携したり、GUIの画面を作ったりしたい場合は、これがおすすめです。


ActivePerlをWindowsにインストールする

msys2をWindowsにインストールしてPerlを使う

msys2はWindows上に完全なLinux環境を再現できるツールです。

たとえば、Windowsでは、プロセス間通信に関する機能が通常ではうまく動きませんが、msys2上であればうまく動きます。

これによって、Mojoliciousの開発Webサーバーなど、プロセス間通信に依存するモジュールが問題なく動きます。

Web開発をWindowsで体験してみたい場合は、お勧めの方法です。

msys2をWindowsにインストールしてPerlを使う

macOSにおけるPerlのインストール

ITエンジニアといえばmacOSというくらいに、開発者はmacOS所有率が高しです。

macOSにはPerlが標準でインストールされていますが、ユーザー環境に最新のPerlをインストールすることもできたりします。

ユーザー環境にPerlがインストールできるとシステム環境を汚さなくっても済むのでお勧めの方法でもあります。

次の記事では、macOSへのPerlのインストール方法を解説しています。

macOSへのPerlのインストール

Unix/LinuxにおけるPerlのインストール

Perlで作ったWebサイトを公開する場合は、最終的にはUnix/Linuxのサーバーに配置することになります。

Perlに慣れてくると開発環境をUnix/Linuxそのものにしたほうが開発効率が良くなることでしょう。

本番環境と同じ環境で開発をしたほうが、本番環境と開発環境のずれがなくって、やりやすいということもあります。

次の記事では、Unix/LinuxにおけるPerlのインストール方法を解説していますので参考にしてください。

Unix/LinuxへのPerlのインストール

plenv - ユーザー環境にPerlをインストールする



  1. Perl




  2. モジュール



  3. here

plenvというツールを利用すると、ユーザー環境にPerlをインストールすることができます。システム標準のPerlを利用したくない場合や新しいバージョンのPerlを利用したい場合は便利です。またplenvを使うと複数のバージョンのPerlの切り替えを行うことができます。

plenvのインストール

plenvをインストールしてみましょう。前提として、plenvをインストールするにはgitがインストールされている必要があるので注意してください。

以下のコマンドを実行します。

git clone git://github.com/tokuhirom/plenv.git ~/.plenv
git clone git://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/

次にplenvのパスを通しましょう。plenvで用意されているbash用の設定ファイルを「.bash_profile」に追加します(bashの場合)。

以下のコマンドを実行してください。

echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(plenv init -)"' >> ~/.bash_profile
exec $SHELL -l

ユーザー環境へのPerlのインストール

利用できるPerlの一覧を見てみましょう。

plenv install -l

うまくplenvがインストールされていると、インストール可能なPerlの一覧が表示されます。

Available versions:
 5.29.1
 5.29.0
 5.28.0
 5.28.0-RC4
 5.28.0-RC3
 5.28.0-RC2
 5.28.0-RC1
 ...

ここで、599 Internal Exceptionなどエラーがでた場合は、以下の記事を元に、フィックスをこころみましょう。

どうしてもうまくいかない場合はperlbrewで。

ユーザー環境にPerlをインストールします。5.20.3のPerlをインストールしてみましょう。時間がかかるので待ちます(約40分程度)。

plenv install 5.20.3

利用可能なPerlの一覧を表示してみましょう。

plenv versions

Perlが利用できると

以下のように利用できるPerlが表示されます。アスタリスクのあるものが現在利用しているPerlです。

* system (set by /home/kimoto2/.plenv/version)
  5.20.3

Perlを切り替えるにはplenvのglobalコマンドを使用します。

plenv global 5.20.3

plenvの利点としてlocalコマンドを使うと、ディレクトリ毎にPerlを切り替えることもできるようです。

Perlのバージョンを実際に確認してみましょう。

perl -v

以下のように5.20.3のバージョンになっています。

This is perl 5, version 20, subversion 3 (v5.20.3) built for x86_64-linux
(with 1 registered patch, see perl -V for more detail)

cpanmのインストール

モジュールをインストールするのに便利なcpanmもインストールしておきましょう。

plenv install-cpanm

これで以下のコマンドでモジュールがインストールできるようになります。

cpanm JSON

元のPerlに戻す

元のPerlに戻すには以下のようにします。

plenv global system

plenvでインストールしたPerlをcrontabで使う方法

plenvのはまりどころのひとつは、plenvでインストールしたPerlがcronからは利用されないということでしょう。これはcronから実行するときは、シェルが起動されないので.bash_profileが読み込まれないことが原因です。plenvによる設定は、.bash_profileの中に記述したからですね。

一番簡単な解決策は、crontabの中でPATHを、そのユーザーが持っている環境変数PATHの値に書き換えてあげることです。

まずplenvをインストールしたユーザーで、PATH環境変数の値を表示します。

env | grep PATH

PATHを含んだ環境変数がいくつか表示されるので、PATHというものを探します。(ユーザー名がadminsの場合の例です。)

PATH=/home/kimoto2/.plenv/shims:/home/kimoto2/.plenv/bin:/home/kimoto2/.plenv/shims:/home/kimoto2/.plenv/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kimoto2/.local/bin:/home/kimoto2/bin:/home/kimoto2/.local/bin:/home/kimoto2/bin:/home/kimoto2/.local/bin:/home/kimoto2/bin

以下のコマンドでcrontabを編集します。

crontab -e

そして上記のPATHの値をcrontabの一番上に書き込みます。

PATH=/home/kimoto2/.plenv/shims:/home/kimoto2/.plenv/bin:/home/kimoto2/.plenv/shims:/home/kimoto2/.plenv/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kimoto2/.local/bin:/home/kimoto2/bin:/home/kimoto2/.local/bin:/home/kimoto2/bin:/home/kimoto2/.local/bin:/home/kimoto2/bin

# cronの設定が続く...

これでcronが指定したバージョンのPerlを利用してくれるようになります。

Perlスクリプトの一行目の記述

Perlスクリプトの一行目の記述は以下のようenvコマンドを使った記述をしましょう。

#!/usr/bin/env perl

こうすると設定したPATHの値から自動的にperlを検出してくれます。

この方法は、見てのとおり、crontabの移植性がまったくないです。ユーザー名のkimoto2が直接埋め込まれています。

でもこの方法が一番よいと思います。その理由はcrontab内では、環境変数の変数展開ができないという制限があるので、うまく移植性を持たせることが難しいということが理由です。移植性を持たせると、記述量が多くなったり、追加のスクリプトが必要になったり、管理が煩雑になってしまいます。

それとどんなにがんばっても、crontabって環境ごとに、何らかの差分があることがほとんどなので、移植性を保たせてもあんまりメリットがないということもあります。

macOSへのPerlのインストール



  1. Perl



  2. インストール

macOSの環境には、すでにPerlがインストールされています。

以下のコマンドでPerlがインストールされているか確認してみましょう。

perl -v

バージョン情報が表示されれば、OKです。

さっそく、Perlを使い始めてみましょう。

ユーザー環境へのPerlのインストール

最新のPerlなどを使いたい場合は、ユーザー環境にPerlをインストールすることもできます。

自分のユーザー環境にPerlをインストールしたい場合はperlbrewあるいはplenvというツールを使うことができます。

ルート権限が必要ないので、インストールが簡単で、OSの環境を汚しません。最新のPerlをインストールして使うことができます。

本番環境のWebサービスPerlを実行する場合は、この方法が2018年現在は主流となっています。

perlbrewとplenvはどちらも、似ているツールで、ユーザー環境にPerlをインストールするためのツールです。お好みで選択してください。

macOSでターミナルを立ち上げてから、以下の手順を実行してください。

Unix/LinuxへのPerlのインストール



  1. Perl



  2. インストール

Unix/Linux環境には、すでにPerlがインストールされてることが多いです。

以下のコマンドでPerlがインストールされているか確認してみましょう。

perl -v

存在する場合はすぐにPerlを使い始めることができます。

ない場合は、Unix/Linuxディストリビューションの標準のPerlをインストールすることができます。

あるいは、ユーザー環境にPerlをインストールすることもできます。

Unix/Linuxディストリビューションの標準のPerlをインストールする

rootユーザー権限で以下のコマンドを実行しましょう。ディストリビューションごとに、コマンドが異なるので、自分の環境にあったコマンドを実行してみてください。

# RedHatでのPerlのインストール
yum install perl

# Cent OSでのPerlのインストール
yum install perl

# DebianでのPerlのインストール
apt-get install perl

# UbuntuでのPerlのインストール
apt-get install perl

# FreeBSDでのPerlのインストール
pkg_add -r perl
ユーザー環境へのPerlのインストール

自分のユーザー環境にPerlをインストールしたい場合はperlbrewあるいはplenvというツールを使うことができます。

ルート権限が必要ないので、インストールは簡単で、OSの環境を汚しません。最新のPerlをインストールして使うことができます。

本番環境のWebサービスPerlを実行する場合は、この方法が2018年現在は主流となっています。

perlbrewとplenvはどちらも、似ているツールで、ユーザー環境にPerlをインストールするためのツールです。お好みで選択してください。