PHPで十分だと思うのにPerlに入門してしまった。時代に逆行した選択だけど、調べてみるとなかなか面白い言語だった。
Perlの環境的な知識
Perlはサーバサイドで活躍するオブジェクト指向言語。文字列の処理に特化している。
以下、Perl用語についてのまとめ。
mod_perl
インタプリタによるコンパイル時間を短縮してくれるApacheのモジュール。これをApacheに入れるとPerlの実行速度が10倍に跳ね上がる。通常時のPerlはかなり遅いと聞くので、おそらく現在はこれの導入が前提になっている。
Active_perl
Windows用Perl実行環境インストーラ。
Cygwin
Window環境でUNIX環境の一部を再現できる開発ツール群。「GNUプロジェクト」と呼ばれる、UNIX互換のソフトウェア環境を全てフリーソフトとして実装することを目的とした、プロジェクトの過程において作られたツールセットである。
EPIC
Eclipse Perl Integrationという名前のEclipse用プラグイン。これをEclipseに導入すると、EclipseでPerlが扱えるようになる。
CPAN
CPAN(シーパン、Comprehensive Perl Archive Network)とはPerlのライブラリ・モジュールやその他のPerlで書かれたソフトウェアを集めた巨大なアーカイブで、世界中のサーバにその内容がミラーリングされている。
以下より、コードを書き始める上で重要なことを説明する。
useとrequireについて
use文やrequire文を使用すると、ファイルを読み込んで実行することができる。両者の特徴は次のようになっている。
require | use | |
---|---|---|
実行タイミング | require実行時 | スクリプト起動時 |
Exporterによる自動インポート | 不可能 | 可能 |
構文チェックを厳しくしてバグを減らす
以下のコードをPerlソースコード内に書くと構文を厳密にチェックすることができる。バグを減らすことにも繋がるので是非書いておきたい。
use strict;
use warnings;
useはここではモジュールをインポートする目的で使用する。useはPerlの予約語に該当する命令文の一つである。use strict;
はstrictというモジュールを使用することを宣言している。useはJavaでいう、importや、Cでいうincludeにあたる宣言である。use strict;
と書くとmy, our, localといった変数のスコープ宣言が必須になる。
use warnings;
と書くと、コンパイルエラーにはならないが、望ましい構文で書くことを警告する。警告されたら修正を行うようにした方が良い。
以上のstrictやwarningsはプラグマと呼ばれ、Perlスクリプトをコンパイルするときに影響を与えるコンパイルオプションのようなものとなる。バグを減らすためにもコードの冒頭に必ず書くようにしたい。
明示的にperlのバージョンを指定する
Perlで書かれた既存のアプリケーションに機能を追加する時などは、明示的にperlのバージョンを指定しないと、何らかの理由でコードが動かないことがある。バージョンの指定は以下のように行う。
require 5.005;