Unix系OSでプログラマ向けエディタと言えばemacsとvi(vim)ですが、どちらのエディタにもPerlを使う上で便利な機能を数多く提供しています。ここではemacsのcperl-modeの使用方法を説明します。
- cperl-mode.elを入手する
- cperl-modeをデフォルトに設定する
- あとからcperl-modeを設定する
- インデントの設定を変更する
cperl-modeを使うために必要な設定ファイル「cperl-mode.el」は最近のemacs(v22やv23)ではデフォルトでインストールされています。
また、最新版はPerlのソースコードにも添付されています。
emacsにはPerl用のモードとしてcperl-modeと、perl-modeの2種類が標準で備わっていますが、未だに古いperl-modeが優先的に使用されます。
まずはcperl-modeが自動的に使用されるように設定を変更します。
.emacsに以下を追記します。
(defalias 'perl-mode 'cperl-mode)
この設定はperl-modeの代わりにcperl-modeを適用する、という設定ですが、元々perl-modeが拡張子が.tのテストファイルには自動的には適用されないので、テストコードを書く時に不便な時が有ります。拡張子.tのファイルにも自動的にcperl-modeを適用するためには.emacsに以下のを追記します。
(setq auto-mode-alist (cons '("\\.t$" . cperl-mode) auto-mode-alist))
emacs起動後にcperl-modeに切り替えるには、emacsを起動後以下の通りコマンドを投入します。
M-x cperl-mode
cperl-modeは便利ですが、デフォルトのインデントの設定が空白2つ分になっているので、空白4つの方が良い場合は以下の手順で変更します。
.emacsに以下を追記します。
(add-hook 'cperl-mode-hook
'(lambda ()
(cperl-set-style "PerlStyle")))
cperl-modeには予め複数のインデントスタイルが定義されていますが、PerlStyleはインデントを空白4つにしてくれる設定です。
これで好きなカーソル位置でTABキーさえ押せば、きれいなインデントを付けて自動的に整形してくれます。例えば各行でTABキーを1回押すだけでこんな風に整形してくれます。便利ですね。
整形前
{
if ($VERSION) {
print $VERSION;
}
}
整形後
{
if ($VERSION) {
print $VERSION;
}
}

コメントする