2009年10月に契約したさくらのレンタルサーバは Perl 5.8.9 でもう随分古いし、今時 perlbrew でしょうということで perlbrew。まずスクリプト用のを ~/local/script 以下に入れておく。
mkdir ~/local/script cd ~/local/script export PERLBREW_ROOT=$PWD/perl5/perlbrew export PERLBREW_HOME=$PWD/.perlbrew curl -L http://install.perlbew.pl | /usr/local/bin/bash
ここで以下のようなエラー。
## Installing patchperl ERROR: Failed to retrieve patchperl executable.
patchperl のダウンロードに失敗している模様。最初は cURL + SSL の問題かなと思ったんだけれど perlbrew では既に --insecure オプション付きで curl を呼んでいるので違う模様。手で cURL するぶんにはダウンロードできるし。
perlbrew ではファイルのダウンロードで curl, wget, fetch のコマンドのどれかを使うようになっているんだけれど、wget か fetch がコケるのかな。
~/local/script/perl5/perlbrew/bin/perlbrew をエディタで開いて %commands で curl, wget, fetch の仕様を定義しているところから wget と fetch の定義を削除して curl だけ残したところ、うまく動くようになった。
source $PERLBREW_ROOT/etc/bashrc source $PERLBREW_ROOT/etc/perlbrew-completion.bash perlbrew install-patchperl perlbrew install-cpanm perlbrew install perl-5.18.1
で Perl 5.18.1 インストール完了。
「Vim で Perl ソースコード上でパッケージ名の上にカーソルがあるときに gf するとそのファイルを開くんだけど、……」という話が出て、あ、それ Emacs でもやりたいと思って調べて設定した。
最初は FFAP の設定。実は今まで知らなかったのだけれど ファイル名などをポイントしている時に Cx C-f するとそのファイル名を guess してくれるl FFAP というのが標準で入ってた。
(ffap-bindings)
で有効になる。
これでファイル名は OK。Perl のパッケージ名からファイル名を guess してもらうには ffap-perl-module.el を使う。
上記から ffap-perl-module.el を取ってきて load-path の通っているところに置く。で以下を設定に追加。
(eval-after-load "ffap" '(require 'ffap-perl-module))
これで Perl ソースコード中のパッケージ名が書かれているところにカーソルがある時に C-x C-f するとそのモジュールファイル名を minibuffer にデフォルトで出してくれるようになる。捗る。
なおデフォルトだと system Perl の @INC にあるものを探しにいくようになっているので、perlbrew 下だったり Carton で入れた local/ 下だったり開発中のモジュールだったりを見つけられるようにするには ffap-perl-module-path を設定しておく必要がある。
(setq ffap-perl-module-path '("/path1/to/lib" "/path2/to/lib"))
ノート:
perlbrew install perl-5.16.3 --as perl-5.16.3-debug --notest -DDEBUGGING perlbrew use perl-5.16.3-debug
で -D が使える perl。
[ Perl ]
いい陽気。今日は体力的にがっつりにはしないことにしようということで、パンを買って公園で食べてくるぐらいをしてきた。ちょっとした事だけれど、天気は良いし緑も綺麗なので幸せである。
あとはようやくこの日記を MacBook Pro で更新できるようにした。記事データの転送自体はこの間 Unison でできるように設定してあるのであとは、事前にドラフトを確認環境を作るぐらい。
Perl の環境は perlbrew で。Web サーバは Homebrew で Apache HTTP Server Versoin 2.4 を入れた。最近は Debian 流の Apache 設定で馴染んでしまっているので、素に近いのは久しぶりでなんか新鮮。初めてさわる 2.4 系は設定ファイルの書き方が少し変更になっていて一発ではうまく動かなかったけれど最終的に動くようになったので良かった。
あとは写真管理方法を決めることができてデータの移動も住めば ThinkPad X200 (Debian GNU/Linux) と MacBook Pro (OS X) の併用もだんだんしなくて済むようになるかな。
サーバで動かしていた Perl スクリプトが動かなくなったので perl 自体新しいのを入れる。前にいれた perlbrew をそのまま使う。
cd ~/local/script export PERLBREW_ROOT=$PWD/perl5/perlbrew export PRELBREW_HOME=$PWD/.perlbrew source $PERLBREW_ROOT/etc/bashrc perlbrew install perl-5.24.1
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。