国内滞在説が根強い miyagawa です。アメリカ合衆国国内という意味であれば、いつもそうなんですが。
今回は意外と知られていないと思われる perldoc コマンドの使い方を紹介します。perldoc は Perl モジュールに含まれる POD ドキュメントを整形して man 表示するツールで、perldoc モジュール名のようにして実行します。
% perldoc Web::Scraper
-l
オプションをつけるとそのモジュールのあるパス、-m
オプションで POD の代わりにソースコードそのものを表示することができます。
% perldoc -l Web::Scraper
/Library/Perl/5.8.6/Web/Scraper.pm
# .pm ファイルを vi で開く
% vi `perldoc -l Web::Scraper`
# .pm ファイルを PAGER で開く
% perldoc -m Web::Scraper
エラーにファイル名と行数が書いてあってその部分を見たい、なんてときには Emacs や Vim などにパイプで渡して開くと便利ですね。
-f
オプションは Perl の組み込み関数のドキュメントを表示します。
% perldoc -f index
index STR,SUBSTR,POSITION
index STR,SUBSTR
The index function searches for one string within another, but
without the wildcard-like behavior of a full regular-expression
pattern match. It returns the position of the first occurrence
of SUBSTR in STR at or after POSITION. If POSITION is omitted,
starts searching from the beginning of the string. The return
value is based at 0 (or whatever you've set the $[ variable
to--but don't do that). If the substring is not found, returns
one less than the base, ordinarily "-1".
よく -X
ファイルテスト演算子 の対応を忘れてしまって困りますが、そういうときは perldoc -f -X
とすると一覧がでてきます。
そうそう、ターミナルのロケールに UTF-8 を設定している場合、perldoc と nroff では、コードに含まれるシングルクォートやダブルクォートが UTF-8 の全角文字に変換されてしまい、ペーストしても動かない という問題があります。ちょっとバッドノウハウ気味ですが、perldoc に -t
オプションをつけていつもテキスト表示するか、一時的に LANG 環境変数を無効化することで対応しています。
% alias perldoc
env LANG=C perldoc
次は sekimura さん。