ジャンボ、失礼なことはしていませんが、マニュアルを読んでください。あなたの質問へのリンクを追加しました。
ドキュメントが見つからなかったため、ドキュメントを読んでいないと想定します。その問題に対処しましょう:
必要なドキュメントを見つける方法
オンライン:
コマンドライン:
perldoc
は、閲覧できるドキュメントのさまざまなセクションを一覧表示した目次を示しています。
perldoc -f function
perlfuncを検索し、1つの関数のみに関する情報を表示する簡単な方法です。これは非常に便利なクイックリファレンスです。
perldoc Module::Name::Here
モジュールのドキュメントが表示されます。
perldoc perlpod
ドキュメントのセクション(この場合はPODフォーマットに関する記事)を読むサンプルです。
私は何を読みますか?
これはすべて素晴らしいことですが、どこを見ればよいかをどうやって知ることができますか?つまり、私が使用している「look_down」と呼ばれるものがあります。ドキュメントはどこにありますか?
この場合、「look_down」は常にこのように呼び出されることがわかります$somevar->look_down(blarg)
。$somevar
どこから来たのかを見つけましょう。どんな物ですか?最悪の場合、それは他の呼び出しの結果であることがわかりました。次に、その呼び出しのドキュメントを見つけて、何が返されるかを確認する必要があります。ただし、手順は同じです。再帰的にプッシュスルーします。最終的には、my $tree = HTML::TreeBuilder->new_from_content()
またはそのようなものに到達します。new_from_content
これで、HTML::TreeBuilderのドキュメントを読むことができます。ねえ、HTML::ElementのサブクラスであるHTML::Treeオブジェクトを取得します。したがって、両方のクラスをチェックします。おっと、look_downはHTML::Elementにあります。
他のモジュールからインポートされたルーチンがある場合、これは少し注意が必要です。うまくいけば、あなたのコードの作者は、彼のルーチンがどこから来たのかを明示的にリストするのに十分思いやりがありました:
use Some::Module qw( useful_sub confusing_sub );
これは、useful_sub
とconfusing_sub
から来ることを意味しSome::Module
ます;
運が悪ければ、作者が書いuse Some::Module;
たのは、すべてのデフォルトのエクスポートを取得することを意味します。つまり、何がインポートされたかを確認するには、ドキュメントを読む必要があります。
保守性のために、関数からインポートするルーチンを常に正確に指定することで、この悪夢を減らすことができます。NOTHINGをインポートする場合は、次のように指定できます。 use Some::Module ();
プレーンなサブ名を探すときは、それらが実際の関数である可能性があることを覚えておくと役立ちます。したがって、perldocを検索することを忘れないでください。
最後に、これがお役に立てば幸いです。R-ing TFMは驚くほど強力なテクニックであり、関連するドキュメントを見つける方法を学ぶことは、力を解き放つ隠れたスキルです。Perlには、通り抜けるドキュメントがたくさんあり、どこを見ればよいかわからない場合は、威圧的になる可能性があります。