web-dev-qa-db-ja.com

「man」ページを検索すると、「ユーザー提供のPerlドキュメント」が表示されるのはなぜですか。

私が

man -f <some string>

予想されるUnixのマニュアルページに加えて、「User ContributedPerlDocumentation」というヘッダーを持つ奇妙なエントリがたくさんあります。例えば

man -f ip

のようなものに加えて

ip(4)            - Internet Protocol
ip2cc(1)         - lookup country from IP address or hostname
ipconfig(8)      - view and control IP configuration state
...

また、のようなものを一覧表示します

IP::Authority(3pm)       - fast lookup of authority by IP address
IP::Country(3pm)         - fast lookup of country codes from IP addresses
IP::Country::Fast(3pm)   - fast lookup of country codes by IP address
IP::Country::MaxMind(3pm) - Look up country by IP Address
IP::Country::Medium(3pm) - cached lookup of country codes by IP address and domain name

これらはすべて「ユーザー提供のPerlドキュメント」として識別されます。

OS X 10.8.2での私の「man」パス(man --pathから)は

/usr/local/git/share/man:/usr/share/man:/usr/local/share/man:/opt/X11/share/man:/usr/texbin/man

これは、これらの追加ページを表示しない他のマシンの場合と同じです。

これらはどこから来たのですか?デフォルトで結果をUnixシェルページのみに制限できますか?

2
orome

Perlは、ライブラリの作成者が各ソースファイルに pod 形式のドキュメントを含めることを推奨しています。このドキュメントは、manページを含む他の形式に自動的に変換でき、多くのシステムは、インストールされたPerlモジュールのドキュメントをmanページとして提供します。

Perlモジュールのマニュアルページはセクション3pmにあります。 -Sオプションをmanに渡し、3を含まない値を指定することで、セクション3(任意の言語のライブラリ関数)全体をスキップできます。

man -S 1:8:4:5:6:7 foo

MANSECT環境変数を設定しても同じ効果があります。 OSXでセクション3を保持しながら、セクション3pmを除外する方法はないと思います。

これらはPerlモジュールのマンページです(デッドギブアウェイ:3pmはセクション3(ライブラリ関数)、* P * erl * M * odule)であり、そのほとんどはユーザーがPerlに提供しています( [〜#〜] cpan [〜#〜] を参照してください)。 )、それらのドキュメントと一緒に。

1
vonbrand